diff options
author | David S. Miller <davem@davemloft.net> | 2020-06-25 19:29:51 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-06-25 19:29:51 -0700 |
commit | 7bed14551659875e1cd23a7c0266394a29a773b3 (patch) | |
tree | 2bbd8b1b2b1610d2e48a71bf7bb5f41ac5e1d0ef /drivers/net/phy/phy_device.c | |
parent | b8392808eb3fc28e523e28cb258c81ca246deb9b (diff) | |
parent | 4a21185cda0fbb860580eeeb4f1a70a9cda332a4 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Minor overlapping changes in xfrm_device.c, between the double
ESP trailing bug fix setting the XFRM_INIT flag and the changes
in net-next preparing for bonding encryption support.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phy_device.c')
-rw-r--r-- | drivers/net/phy/phy_device.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 6d47485e68f9..5998fb505b21 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -832,8 +832,10 @@ static int get_phy_c22_id(struct mii_bus *bus, int addr, u32 *phy_id) /* Grab the bits from PHYIR2, and put them in the lower half */ phy_reg = mdiobus_read(bus, addr, MII_PHYSID2); - if (phy_reg < 0) - return -EIO; + if (phy_reg < 0) { + /* returning -ENODEV doesn't stop bus scanning */ + return (phy_reg == -EIO || phy_reg == -ENODEV) ? -ENODEV : -EIO; + } *phy_id |= phy_reg; @@ -1142,6 +1144,10 @@ int phy_init_hw(struct phy_device *phydev) if (ret < 0) return ret; + ret = phy_disable_interrupts(phydev); + if (ret) + return ret; + if (phydev->drv->config_init) ret = phydev->drv->config_init(phydev); |