| From df384d435a5c034c735df3d9ea87a03172c59b56 Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Wed, 18 Jan 2017 15:52:53 +0100 |
| Subject: bcm63xx_enet: avoid uninitialized variable warning |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| commit df384d435a5c034c735df3d9ea87a03172c59b56 upstream. |
| |
| gcc-7 and probably earlier versions get confused by this function |
| and print a harmless warning: |
| |
| drivers/net/ethernet/broadcom/bcm63xx_enet.c: In function 'bcm_enet_open': |
| drivers/net/ethernet/broadcom/bcm63xx_enet.c:1130:3: error: 'phydev' may be used uninitialized in this function [-Werror=maybe-uninitialized] |
| |
| This adds an initialization for the 'phydev' variable when it is unused |
| and changes the check to test for that NULL pointer to make it clear |
| that we always pass a valid pointer here. |
| |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/ethernet/broadcom/bcm63xx_enet.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c |
| +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c |
| @@ -913,6 +913,8 @@ static int bcm_enet_open(struct net_devi |
| priv->old_link = 0; |
| priv->old_duplex = -1; |
| priv->old_pause = -1; |
| + } else { |
| + phydev = NULL; |
| } |
| |
| /* mask all interrupts and request them */ |
| @@ -1083,7 +1085,7 @@ static int bcm_enet_open(struct net_devi |
| enet_dmac_writel(priv, priv->dma_chan_int_mask, |
| ENETDMAC_IRMASK, priv->tx_chan); |
| |
| - if (priv->has_phy) |
| + if (phydev) |
| phy_start(phydev); |
| else |
| bcm_enet_adjust_link(dev); |
| @@ -1126,7 +1128,7 @@ out_freeirq: |
| free_irq(dev->irq, dev); |
| |
| out_phy_disconnect: |
| - if (priv->has_phy) |
| + if (phydev) |
| phy_disconnect(phydev); |
| |
| return ret; |