]> www.infradead.org Git - users/willy/xarray.git/commitdiff
i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()
authorJinjie Ruan <ruanjinjie@huawei.com>
Thu, 12 Sep 2024 03:34:59 +0000 (11:34 +0800)
committerAndi Shyti <andi.shyti@kernel.org>
Thu, 12 Sep 2024 07:08:22 +0000 (09:08 +0200)
disable_irq() after request_irq() still has a time gap in which
interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
disable IRQ auto-enable when request IRQ.

Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Cc: <stable@vger.kernel.org> # v4.19+
Acked-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-qcom-geni.c

index 06e836e3e877339233d5c514c63e8b66c09000ba..4c9050a4d58e7d84ce6dc5abfa4cb594f3c61144 100644 (file)
@@ -818,15 +818,13 @@ static int geni_i2c_probe(struct platform_device *pdev)
        init_completion(&gi2c->done);
        spin_lock_init(&gi2c->lock);
        platform_set_drvdata(pdev, gi2c);
-       ret = devm_request_irq(dev, gi2c->irq, geni_i2c_irq, 0,
+       ret = devm_request_irq(dev, gi2c->irq, geni_i2c_irq, IRQF_NO_AUTOEN,
                               dev_name(dev), gi2c);
        if (ret) {
                dev_err(dev, "Request_irq failed:%d: err:%d\n",
                        gi2c->irq, ret);
                return ret;
        }
-       /* Disable the interrupt so that the system can enter low-power mode */
-       disable_irq(gi2c->irq);
        i2c_set_adapdata(&gi2c->adap, gi2c);
        gi2c->adap.dev.parent = dev;
        gi2c->adap.dev.of_node = dev->of_node;