From: Steve Glendinning Date: Mon, 30 Apr 2012 07:56:53 +0000 (+0000) Subject: smsc75xx: fix phy init reset loop X-Git-Tag: v3.4-rc6~23^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8a1d59d79fffdad4bb1b3b5d069da4c6c52db2e6;p=platform%2Fkernel%2Flinux-stable.git smsc75xx: fix phy init reset loop fix bug in phy_init loop that was ignoring BMCR reset bit, akin to smsc95xx's d946092000698fd204d82a9d239103c656fb63bf Signed-off-by: Stephane Fillod Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller --- diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c index 1de7785..cc23a58 100644 --- a/drivers/net/usb/smsc75xx.c +++ b/drivers/net/usb/smsc75xx.c @@ -661,7 +661,7 @@ static int smsc75xx_phy_initialize(struct usbnet *dev) bmcr = smsc75xx_mdio_read(dev->net, dev->mii.phy_id, MII_BMCR); check_warn_return(bmcr, "Error reading 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");