In case of error, the function devm_platform_ioremap_resource_byname() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Fixes: 4195926aedca ("gpio: Add support for IDT 79RC3243x GPIO controller") Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> --- drivers/gpio/gpio-idt3243x.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-idt3243x.c b/drivers/gpio/gpio-idt3243x.c index e961acee1571..50003ad2e589 100644 --- a/drivers/gpio/gpio-idt3243x.c +++ b/drivers/gpio/gpio-idt3243x.c @@ -142,8 +142,8 @@ static int idt_gpio_probe(struct platform_device *pdev) return -ENOMEM; ctrl->gpio = devm_platform_ioremap_resource_byname(pdev, "gpio"); - if (!ctrl->gpio) - return -ENOMEM; + if (IS_ERR(ctrl->gpio)) + return PTR_ERR(ctrl->gpio); ctrl->gc.parent = dev; @@ -160,8 +160,8 @@ static int idt_gpio_probe(struct platform_device *pdev) if (device_property_read_bool(dev, "interrupt-controller")) { ctrl->pic = devm_platform_ioremap_resource_byname(pdev, "pic"); - if (!ctrl->pic) - return -ENOMEM; + if (IS_ERR(ctrl->pic)) + return PTR_ERR(ctrl->pic); parent_irq = platform_get_irq(pdev, 0); if (!parent_irq)