diff options
Diffstat (limited to 'drivers/net/smsc911x.c')
-rw-r--r-- | drivers/net/smsc911x.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c index 783c1a7b869e..d1590ac55e4b 100644 --- a/drivers/net/smsc911x.c +++ b/drivers/net/smsc911x.c | |||
@@ -1225,6 +1225,10 @@ static int smsc911x_open(struct net_device *dev) | |||
1225 | dev_info(&dev->dev, "SMSC911x/921x identified at %#08lx, IRQ: %d\n", | 1225 | dev_info(&dev->dev, "SMSC911x/921x identified at %#08lx, IRQ: %d\n", |
1226 | (unsigned long)pdata->ioaddr, dev->irq); | 1226 | (unsigned long)pdata->ioaddr, dev->irq); |
1227 | 1227 | ||
1228 | /* Reset the last known duplex and carrier */ | ||
1229 | pdata->last_duplex = -1; | ||
1230 | pdata->last_carrier = -1; | ||
1231 | |||
1228 | /* Bring the PHY up */ | 1232 | /* Bring the PHY up */ |
1229 | phy_start(pdata->phy_dev); | 1233 | phy_start(pdata->phy_dev); |
1230 | 1234 | ||
@@ -1624,7 +1628,7 @@ static int smsc911x_eeprom_send_cmd(struct smsc911x_data *pdata, u32 op) | |||
1624 | do { | 1628 | do { |
1625 | msleep(1); | 1629 | msleep(1); |
1626 | e2cmd = smsc911x_reg_read(pdata, E2P_CMD); | 1630 | e2cmd = smsc911x_reg_read(pdata, E2P_CMD); |
1627 | } while ((e2cmd & E2P_CMD_EPC_BUSY_) && (timeout--)); | 1631 | } while ((e2cmd & E2P_CMD_EPC_BUSY_) && (--timeout)); |
1628 | 1632 | ||
1629 | if (!timeout) { | 1633 | if (!timeout) { |
1630 | SMSC_TRACE(DRV, "TIMED OUT"); | 1634 | SMSC_TRACE(DRV, "TIMED OUT"); |