diff mbox

net: macb: Fix build warning

Message ID 1386737877-16531-1-git-send-email-soren.brinkmann@xilinx.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Soren Brinkmann Dec. 11, 2013, 4:57 a.m. UTC
When adjusting the link speed, the target frequency is determined by a
'swith (LINK_SPEED)' statement, that assigns the target rate only for
valid and expected LINK_SPEED values. This incomplete switch statement
leads to the following build warning:
     drivers/net/ethernet/cadence/macb.c: In function 'macb_handle_link_change':
  >> drivers/net/ethernet/cadence/macb.c:241:14: warning: 'rate' may be used uninitialized in this function [-Wmaybe-uninitialized]
        netdev_warn(dev, "unable to generate target frequency: %ld Hz\n",
                   ^
     drivers/net/ethernet/cadence/macb.c:215:13: note: 'rate' was declared here
       long ferr, rate, rate_rounded;

Fixing this by bailing out of that function in the switch's default case
before the rate variable is used.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
---
 drivers/net/ethernet/cadence/macb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Nicolas Ferre Dec. 11, 2013, 8:07 a.m. UTC | #1
On 11/12/2013 05:57, Soren Brinkmann :
> When adjusting the link speed, the target frequency is determined by a
> 'swith (LINK_SPEED)' statement, that assigns the target rate only for
> valid and expected LINK_SPEED values. This incomplete switch statement
> leads to the following build warning:
>       drivers/net/ethernet/cadence/macb.c: In function 'macb_handle_link_change':
>    >> drivers/net/ethernet/cadence/macb.c:241:14: warning: 'rate' may be used uninitialized in this function [-Wmaybe-uninitialized]
>          netdev_warn(dev, "unable to generate target frequency: %ld Hz\n",
>                     ^
>       drivers/net/ethernet/cadence/macb.c:215:13: note: 'rate' was declared here
>         long ferr, rate, rate_rounded;
>
> Fixing this by bailing out of that function in the switch's default case
> before the rate variable is used.
>
> Reported-by: kbuild test robot <fengguang.wu@intel.com>
> Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>

Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>

> ---
>   drivers/net/ethernet/cadence/macb.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
> index 419529a9309d..3190d38e16fb 100644
> --- a/drivers/net/ethernet/cadence/macb.c
> +++ b/drivers/net/ethernet/cadence/macb.c
> @@ -225,7 +225,7 @@ static void macb_set_tx_clk(struct clk *clk, int speed, struct net_device *dev)
>   		rate = 125000000;
>   		break;
>   	default:
> -		break;
> +		return;
>   	}
>
>   	rate_rounded = clk_round_rate(clk, rate);
>
diff mbox

Patch

diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
index 419529a9309d..3190d38e16fb 100644
--- a/drivers/net/ethernet/cadence/macb.c
+++ b/drivers/net/ethernet/cadence/macb.c
@@ -225,7 +225,7 @@  static void macb_set_tx_clk(struct clk *clk, int speed, struct net_device *dev)
 		rate = 125000000;
 		break;
 	default:
-		break;
+		return;
 	}
 
 	rate_rounded = clk_round_rate(clk, rate);