diff options
-rw-r--r-- | drivers/net/3c59x.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 88ce4c43fd4f..e1f773d07edb 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c | |||
@@ -1893,7 +1893,10 @@ vortex_timer(unsigned long data) | |||
1893 | { | 1893 | { |
1894 | spin_lock_bh(&vp->lock); | 1894 | spin_lock_bh(&vp->lock); |
1895 | mii_status = mdio_read(dev, vp->phys[0], MII_BMSR); | 1895 | mii_status = mdio_read(dev, vp->phys[0], MII_BMSR); |
1896 | mii_status = mdio_read(dev, vp->phys[0], MII_BMSR); | 1896 | if (!(mii_status & BMSR_LSTATUS)) { |
1897 | /* Re-read to get actual link status */ | ||
1898 | mii_status = mdio_read(dev, vp->phys[0], MII_BMSR); | ||
1899 | } | ||
1897 | ok = 1; | 1900 | ok = 1; |
1898 | if (vortex_debug > 2) | 1901 | if (vortex_debug > 2) |
1899 | printk(KERN_DEBUG "%s: MII transceiver has status %4.4x.\n", | 1902 | printk(KERN_DEBUG "%s: MII transceiver has status %4.4x.\n", |