]> git.dujemihanovic.xyz Git - linux.git/commitdiff
Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq()
authorJinjie Ruan <ruanjinjie@huawei.com>
Thu, 12 Sep 2024 03:12:04 +0000 (11:12 +0800)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 27 Sep 2024 14:52:19 +0000 (10:52 -0400)
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: bb7f4f0bcee6 ("btmrvl: add platform specific wakeup interrupt support")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btmrvl_sdio.c

index 85b7f2bb425982c35638b54df1c9cf56495e9f0c..07cd308f7abf6debe114452ed4e3e6de82efc1f8 100644 (file)
@@ -92,7 +92,7 @@ static int btmrvl_sdio_probe_of(struct device *dev,
                } else {
                        ret = devm_request_irq(dev, cfg->irq_bt,
                                               btmrvl_wake_irq_bt,
-                                              0, "bt_wake", card);
+                                              IRQF_NO_AUTOEN, "bt_wake", card);
                        if (ret) {
                                dev_err(dev,
                                        "Failed to request irq_bt %d (%d)\n",
@@ -101,7 +101,6 @@ static int btmrvl_sdio_probe_of(struct device *dev,
 
                        /* Configure wakeup (enabled by default) */
                        device_init_wakeup(dev, true);
-                       disable_irq(cfg->irq_bt);
                }
        }