smsc95xx: fix reset check
authorRabin Vincent <rabin@rab.in>
Sat, 30 Apr 2011 08:29:27 +0000 (08:29 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 May 2011 22:50:58 +0000 (15:50 -0700)
The reset loop check should check the MII_BMCR register value for
BMCR_RESET rather than for MII_BMCR (the register address, which also
happens to be zero).

Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/smsc95xx.c

index 47a6c870b51fae361b39de950ee4a523ced52475..48d4efdb4959a61b6704d58178879593ca4edad2 100644 (file)
@@ -730,7 +730,7 @@ static int smsc95xx_phy_initialize(struct usbnet *dev)
                msleep(10);
                bmcr = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, MII_BMCR);
                timeout++;
-       } while ((bmcr & MII_BMCR) && (timeout < 100));
+       } while ((bmcr & BMCR_RESET) && (timeout < 100));
 
        if (timeout >= 100) {
                netdev_warn(dev->net, "timeout on PHY Reset");