sfp: fix non-detection of PHY
authorRussell King <rmk+kernel@armlinux.org.uk>
Fri, 15 Dec 2017 16:09:36 +0000 (16:09 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Mar 2018 10:01:24 +0000 (11:01 +0100)
[ Upstream commit 20b56ed9f8adfb9a7fb1c878878c54aa4ed645c1 ]

The detection of a PHY changed in commit e98a3aabf85f ("mdio_bus: don't
return NULL from mdiobus_scan()") which now causes sfp to print an
error message.  Update for this change.

Fixes: 73970055450e ("sfp: add SFP module support")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/sfp.c

index ddf184db9c457d17b106f89ba19127b1f54a982b..3165bc7b8e1e42eb034112bcecb5b9db97c5fe01 100644 (file)
@@ -318,12 +318,12 @@ static void sfp_sm_probe_phy(struct sfp *sfp)
        msleep(T_PHY_RESET_MS);
 
        phy = mdiobus_scan(sfp->i2c_mii, SFP_PHY_ADDR);
-       if (IS_ERR(phy)) {
-               dev_err(sfp->dev, "mdiobus scan returned %ld\n", PTR_ERR(phy));
+       if (phy == ERR_PTR(-ENODEV)) {
+               dev_info(sfp->dev, "no PHY detected\n");
                return;
        }
-       if (!phy) {
-               dev_info(sfp->dev, "no PHY detected\n");
+       if (IS_ERR(phy)) {
+               dev_err(sfp->dev, "mdiobus scan returned %ld\n", PTR_ERR(phy));
                return;
        }