summaryrefslogtreecommitdiff
path: root/drivers/net/smsc911x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/smsc911x.c')
-rw-r--r--drivers/net/smsc911x.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index ecdde03d4167..8078f3545f16 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -1267,8 +1267,6 @@ static int smsc911x_stop(struct net_device *dev)
struct smsc911x_data *pdata = netdev_priv(dev);
unsigned int temp;
- BUG_ON(!pdata->phy_dev);
-
/* Disable all device interrupts */
temp = smsc911x_reg_read(pdata, INT_CFG);
temp &= ~INT_CFG_IRQ_EN_;
@@ -1283,7 +1281,8 @@ static int smsc911x_stop(struct net_device *dev)
smsc911x_tx_update_txcounters(dev);
/* Bring the PHY down */
- phy_stop(pdata->phy_dev);
+ if (pdata->phy_dev)
+ phy_stop(pdata->phy_dev);
SMSC_TRACE(IFDOWN, "Interface stopped");
return 0;