On Thu, 2015-08-13 at 16:12 +0300, Igor Plyatov wrote:
* Due to HW bug, LAN8700 sometimes does not detect presence of energy in the[]
Ethernet cable in Energy Detect Power-Down mode (e.g while EDPWRDOWN bit is
set, the ENERGYON bit does not asserted sometimes). This is a common bug of
LAN87xx family of PHY chips.
* The lan87xx_read_status() was improved to acquire ENERGYON bit. Its previous
algorythm still not reliable on 100 % and sometimes skip cable plugging.
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c[]
@@ -104,10 +104,12 @@ static int lan911x_config_init(struct phy_device *phydev)Is there a reason to move this declaration?
static int lan87xx_read_status(struct phy_device *phydev)
{
int err = genphy_read_status(phydev);
+ int rc;
+ int i;
if (!phydev->link) {
/* Disable EDPD to wake up PHY */
- int rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);
+ rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);
if (rc < 0)
return rc;