net: macb: Fix build warning
authorSoren Brinkmann <soren.brinkmann@xilinx.com>
Wed, 11 Dec 2013 04:57:57 +0000 (20:57 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Dec 2013 05:19:17 +0000 (00:19 -0500)
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cadence/macb.c

index 419529a9309d85c5b58cc61924c516cba489e2e2..3190d38e16fbd5d59a8cbc0cca7378a500572402 100644 (file)
@@ -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);