diff options
-rw-r--r-- | drivers/net/ethernet/broadcom/bcm63xx_enet.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.c b/drivers/net/ethernet/broadcom/bcm63xx_enet.c index 3b14d5144228..c483618b57bd 100644 --- 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_device *dev) | |||
913 | priv->old_link = 0; | 913 | priv->old_link = 0; |
914 | priv->old_duplex = -1; | 914 | priv->old_duplex = -1; |
915 | priv->old_pause = -1; | 915 | priv->old_pause = -1; |
916 | } else { | ||
917 | phydev = NULL; | ||
916 | } | 918 | } |
917 | 919 | ||
918 | /* mask all interrupts and request them */ | 920 | /* mask all interrupts and request them */ |
@@ -1083,7 +1085,7 @@ static int bcm_enet_open(struct net_device *dev) | |||
1083 | enet_dmac_writel(priv, priv->dma_chan_int_mask, | 1085 | enet_dmac_writel(priv, priv->dma_chan_int_mask, |
1084 | ENETDMAC_IRMASK, priv->tx_chan); | 1086 | ENETDMAC_IRMASK, priv->tx_chan); |
1085 | 1087 | ||
1086 | if (priv->has_phy) | 1088 | if (phydev) |
1087 | phy_start(phydev); | 1089 | phy_start(phydev); |
1088 | else | 1090 | else |
1089 | bcm_enet_adjust_link(dev); | 1091 | bcm_enet_adjust_link(dev); |
@@ -1126,7 +1128,7 @@ out_freeirq: | |||
1126 | free_irq(dev->irq, dev); | 1128 | free_irq(dev->irq, dev); |
1127 | 1129 | ||
1128 | out_phy_disconnect: | 1130 | out_phy_disconnect: |
1129 | if (priv->has_phy) | 1131 | if (phydev) |
1130 | phy_disconnect(phydev); | 1132 | phy_disconnect(phydev); |
1131 | 1133 | ||
1132 | return ret; | 1134 | return ret; |