lan78xx: Check device ready bit (PMT_CTL_READY_) after reset the PHY
authorWoojung.Huh@microchip.com <Woojung.Huh@microchip.com>
Wed, 16 Sep 2015 23:40:39 +0000 (23:40 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Sep 2015 05:15:36 +0000 (22:15 -0700)
Check device ready bit (PMT_CTL_READY_) after reset the PHY.
Device may not be ready even if PHY_RST_ is cleared depends on configuration.

Signed-off-by: Woojung Huh <woojung.huh@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/lan78xx.c

index a39518fc93aadf82918fd944dcf88c6de5321f48..d0d8790d5d1b40908eed2f72aab0cb755a77a4db 100644 (file)
@@ -2002,7 +2002,7 @@ static int lan78xx_reset(struct lan78xx_net *dev)
                        netdev_warn(dev->net, "timeout waiting for PHY Reset");
                        return -EIO;
                }
-       } while (buf & PMT_CTL_PHY_RST_);
+       } while ((buf & PMT_CTL_PHY_RST_) || !(buf & PMT_CTL_READY_));
 
        lan78xx_mii_init(dev);