]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Bluetooth: btmtksdio: Check function enabled before doing close
authorChris Lu <chris.lu@mediatek.com>
Tue, 22 Apr 2025 01:21:55 +0000 (09:21 +0800)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 25 Apr 2025 19:03:19 +0000 (15:03 -0400)
Check BTMTKSDIO_FUNC_ENABLED flag before doing close to prevent
btmtksdio_close been called twice.

Fixes: 6ac4233afb9a ("Bluetooth: btmtksdio: Prevent enabling interrupts after IRQ handler removal")
Signed-off-by: Chris Lu <chris.lu@mediatek.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btmtksdio.c

index edd5eead1e93b0b04587bd996788b2ca253e9182..e5a119ca724350216aeeab9aa9a6c9adb7f714f7 100644 (file)
@@ -723,6 +723,10 @@ static int btmtksdio_close(struct hci_dev *hdev)
 {
        struct btmtksdio_dev *bdev = hci_get_drvdata(hdev);
 
+       /* Skip btmtksdio_close if BTMTKSDIO_FUNC_ENABLED isn't set */
+       if (!test_bit(BTMTKSDIO_FUNC_ENABLED, &bdev->tx_state))
+               return 0;
+
        sdio_claim_host(bdev->func);
 
        /* Disable interrupt */