OSDN Git Service

net: ethernet: ixp4xx: Fix return value check in ixp4xx_eth_probe()
authorWei Yongjun <weiyongjun1@huawei.com>
Wed, 19 May 2021 14:16:27 +0000 (14:16 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 May 2021 20:13:26 +0000 (13:13 -0700)
In case of error, the function mdiobus_get_phy() returns NULL
pointer not ERR_PTR(). The IS_ERR() test in the return value
check should be replaced with NULL test.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/xscale/ixp4xx_eth.c

index cb89323..1ecceeb 100644 (file)
@@ -1531,8 +1531,8 @@ static int ixp4xx_eth_probe(struct platform_device *pdev)
                phydev = of_phy_get_and_connect(ndev, np, ixp4xx_adjust_link);
        } else {
                phydev = mdiobus_get_phy(mdio_bus, plat->phy);
-               if (IS_ERR(phydev)) {
-                       err = PTR_ERR(phydev);
+               if (!phydev) {
+                       err = -ENODEV;
                        dev_err(dev, "could not connect phydev (%d)\n", err);
                        goto err_free_mem;
                }