]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
i2c: s3c2410: fix IRQ check
authorSergey Shtylyov <s.shtylyov@omp.ru>
Sun, 4 Jul 2021 14:45:25 +0000 (17:45 +0300)
committerKelsey Skunberg <kelsey.skunberg@canonical.com>
Mon, 11 Oct 2021 23:08:49 +0000 (17:08 -0600)
BugLink: https://bugs.launchpad.net/bugs/1946024
[ Upstream commit d6840a5e370b7ea4fde16ce2caf431bcc87f9a75 ]

Iff platform_get_irq() returns 0, 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: e0d1ec97853f ("i2c-s3c2410: Change IRQ to be plain integer.")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/i2c/busses/i2c-s3c2410.c

index d6322698b24582c96dbe4485c061a9836da2bf3a..e6f927c6f8af96deb03b343470ecfea265cb643b 100644 (file)
@@ -1141,7 +1141,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
         */
        if (!(i2c->quirks & QUIRK_POLL)) {
                i2c->irq = ret = platform_get_irq(pdev, 0);
-               if (ret <= 0) {
+               if (ret < 0) {
                        dev_err(&pdev->dev, "cannot find IRQ\n");
                        clk_unprepare(i2c->clk);
                        return ret;