aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/phy.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2016-01-11 17:47:25 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-01-11 17:47:25 -0800
commit009f773836513960d3982e80c86e266d25528563 (patch)
tree7315e5666698997dee34a80c1a1db801d3f8879b /drivers/net/phy/phy.c
parentInput: i8042 - add Fujitsu Lifebook U745 to the nomux list (diff)
parentInput: elantech - mark protocols v2 and v3 as semi-mt (diff)
downloadlinux-dev-009f773836513960d3982e80c86e266d25528563.tar.xz
linux-dev-009f773836513960d3982e80c86e266d25528563.zip
Merge branch 'next' into for-linus
Prepare first round of input updates for 4.5 merge window.
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r--drivers/net/phy/phy.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index adb48abafc87..47cd306dbb3c 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -448,7 +448,8 @@ int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd)
mdiobus_write(phydev->bus, mii_data->phy_id,
mii_data->reg_num, val);
- if (mii_data->reg_num == MII_BMCR &&
+ if (mii_data->phy_id == phydev->addr &&
+ mii_data->reg_num == MII_BMCR &&
val & BMCR_RESET)
return phy_init_hw(phydev);
@@ -863,6 +864,9 @@ void phy_state_machine(struct work_struct *work)
needs_aneg = true;
break;
case PHY_NOLINK:
+ if (phy_interrupt_is_valid(phydev))
+ break;
+
err = phy_read_status(phydev);
if (err)
break;