diff options
author | David S. Miller <davem@davemloft.net> | 2018-04-25 23:04:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-25 23:04:22 -0400 |
commit | a9537c937c1790b62de5e2789e67c0bf439b11ea (patch) | |
tree | f258739642417d820e1683e97966a3804f323ba9 /drivers/net/phy/phy_device.c | |
parent | e9350d443584f5d72483b1ae035f4527cfac7a9a (diff) | |
parent | 25eb0ea7174c6e84f21fa59dccbddd0318b17b12 (diff) | |
download | linux-a9537c937c1790b62de5e2789e67c0bf439b11ea.tar.bz2 |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Merging net into net-next to help the bpf folks avoid
some really ugly merge conflicts.
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 | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index ac23322a32e1..9e4ba8e80a18 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -535,8 +535,17 @@ static int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id, /* Grab the bits from PHYIR1, and put them in the upper half */ phy_reg = mdiobus_read(bus, addr, MII_PHYSID1); - if (phy_reg < 0) + if (phy_reg < 0) { + /* if there is no device, return without an error so scanning + * the bus works properly + */ + if (phy_reg == -EIO || phy_reg == -ENODEV) { + *phy_id = 0xffffffff; + return 0; + } + return -EIO; + } *phy_id = (phy_reg & 0xffff) << 16; |