watchdog: wdat_wdt: fix return value check in wdat_wdt_probe()
authorWei Yongjun <weiyongjun1@huawei.com>
Wed, 28 Sep 2016 21:15:54 +0000 (23:15 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 28 Sep 2016 21:15:54 +0000 (23:15 +0200)
In case of error, the function devm_ioremap_resource() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check should
be replaced with IS_ERR().

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/watchdog/wdat_wdt.c

index 6b6464596674cd94fb50947ba7f82f70dc567448..4594723c27bac0d45902504cd0cd23b95494a0d7 100644 (file)
@@ -351,16 +351,17 @@ static int wdat_wdt_probe(struct platform_device *pdev)
                res = &pdev->resource[i];
                if (resource_type(res) == IORESOURCE_MEM) {
                        reg = devm_ioremap_resource(&pdev->dev, res);
+                       if (IS_ERR(reg))
+                               return PTR_ERR(reg);
                } else if (resource_type(res) == IORESOURCE_IO) {
                        reg = devm_ioport_map(&pdev->dev, res->start, 1);
+                       if (!reg)
+                               return -ENOMEM;
                } else {
                        dev_err(&pdev->dev, "Unsupported resource\n");
                        return -EINVAL;
                }
 
-               if (!reg)
-                       return -ENOMEM;
-
                regs[i] = reg;
        }