i2c: xlp9xx: fix main IRQ check
authorSergey Shtylyov <s.shtylyov@omp.ru>
Sun, 4 Jul 2021 14:47:54 +0000 (17:47 +0300)
committerWolfram Sang <wsa@kernel.org>
Wed, 25 Aug 2021 21:04:17 +0000 (23:04 +0200)
Iff platform_get_irq() returns 0 for the main IRQ, the driver's probe()
method will return 0 early (as if the method's call was successful).
Let's consider IRQ0 valid for simplicity -- devm_request_irq() can always
override that decision...

Fixes: 2bbd681ba2b ("i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Reviewed-by: George Cherian <george.cherian@marvell.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-xlp9xx.c

index f2241ce..6d24dc3 100644 (file)
@@ -517,7 +517,7 @@ static int xlp9xx_i2c_probe(struct platform_device *pdev)
                return PTR_ERR(priv->base);
 
        priv->irq = platform_get_irq(pdev, 0);
-       if (priv->irq <= 0)
+       if (priv->irq < 0)
                return priv->irq;
        /* SMBAlert irq */
        priv->alert_data.irq = platform_get_irq(pdev, 1);