net: sparx5: fix return value check in sparx5_create_targets()
authorYang Yingliang <yangyingliang@huawei.com>
Sat, 26 Jun 2021 04:44:19 +0000 (12:44 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jun 2021 21:20:22 +0000 (14:20 -0700)
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: 3cfa11bac9bb ("net: sparx5: add the basic sparx5 driver")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/sparx5/sparx5_main.c

index 665e20c..abaa086 100644 (file)
@@ -236,10 +236,10 @@ static int sparx5_create_targets(struct sparx5 *sparx5)
                                          iores[idx]->start,
                                          iores[idx]->end - iores[idx]->start
                                          + 1);
-               if (IS_ERR(iomem[idx])) {
+               if (!iomem[idx]) {
                        dev_err(sparx5->dev, "Unable to get switch registers: %s\n",
                                iores[idx]->name);
-                       return PTR_ERR(iomem[idx]);
+                       return -ENOMEM;
                }
                begin[idx] = iomem[idx] - sparx5_main_iomap[range_id[idx]].offset;
        }