]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pinctrl: cy8c95x0: Avoid returning positive values to user space
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 27 Feb 2026 16:43:35 +0000 (17:43 +0100)
committerLinus Walleij <linusw@kernel.org>
Tue, 10 Mar 2026 10:53:41 +0000 (11:53 +0100)
When probe fails due to unclear interrupt status register, it returns
a positive number instead of the proper error code. Fix this accordingly.

Fixes: e6cbbe42944d ("pinctrl: Add Cypress cy8c95x0 support")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202602271847.vVWkqLBD-lkp@intel.com/
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
drivers/pinctrl/pinctrl-cy8c95x0.c

index b88a627708ffd12e1da14f615d4160fa442e1837..38caea3b3376293de3858a030aa3841d31266f4b 100644 (file)
@@ -1300,7 +1300,7 @@ static int cy8c95x0_irq_setup(struct cy8c95x0_pinctrl *chip, int irq)
        /* Read IRQ status register to clear all pending interrupts */
        ret = cy8c95x0_irq_pending(chip, pending_irqs);
        if (ret)
-               return dev_err_probe(dev, ret, "failed to clear irq status register\n");
+               return dev_err_probe(dev, -EBUSY, "failed to clear irq status register\n");
 
        /* Mask all interrupts */
        bitmap_fill(chip->irq_mask, MAX_LINE);