phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe()
authorYang Yingliang <yangyingliang@huawei.com>
Thu, 9 Sep 2021 07:21:49 +0000 (15:21 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:56 +0000 (19:16 +0100)
[ Upstream commit b4dc97ab0a629eda8bda20d96ef47dac08a505d9 ]

In case of error, the function devm_ioremap() returns NULL
pointer not ERR_PTR(). The IS_ERR() test in the return value
check should be replaced with NULL test.

Fixes: 2ff8a1eeb5aa ("phy: Add Sparx5 ethernet serdes PHY driver")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210909072149.2934047-1-yangyingliang@huawei.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/phy/microchip/sparx5_serdes.c

index 4076580fc2cd974c04e231ad7ae8d17c87206221..ab1b0986aa67167f9e773f64179e0b25b20d331e 100644 (file)
@@ -2475,10 +2475,10 @@ static int sparx5_serdes_probe(struct platform_device *pdev)
                return -EINVAL;
        }
        iomem = devm_ioremap(priv->dev, iores->start, resource_size(iores));
-       if (IS_ERR(iomem)) {
+       if (!iomem) {
                dev_err(priv->dev, "Unable to get serdes registers: %s\n",
                        iores->name);
-               return PTR_ERR(iomem);
+               return -ENOMEM;
        }
        for (idx = 0; idx < ARRAY_SIZE(sparx5_serdes_iomap); idx++) {
                struct sparx5_serdes_io_resource *iomap = &sparx5_serdes_iomap[idx];