summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorKiran K <kiran.k@intel.com>2026-08-25 22:53:00 +0530
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2026-08-31 13:27:31 -0400
commitea2ee8b222306208d2b094d1a11894da6c106d42 (patch)
tree7dfdca6c813de16f830cf513551aa9743cdd825e /drivers
parent1376afc7660bad2a1a5ee0876898312a486cf8bd (diff)
Bluetooth: btintel_pcie: Clear automask on spurious interrupts
On spurious interrupt where the TX and RX causes are not set, driver was not clearing the auto mask which can block all the interrupts. Driver needs to clear the automask even if no causes are set. Fixes: c2b636b3f788 ("Bluetooth: btintel_pcie: Add support for PCIe transport") Signed-off-by: Kiran K <kiran.k@intel.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/bluetooth/btintel_pcie.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 005c77a4f5eb..eec95e5f3dbb 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -1696,6 +1696,9 @@ static irqreturn_t btintel_pcie_irq_msix_handler(int irq, void *dev_id)
if (unlikely(!(intr_fh | intr_hw))) {
/* Ignore interrupt, inta == 0 */
+ bt_warn_ratelimited("Bluetooth: btintel_pcie: Received spurious interrupt\n");
+ btintel_pcie_wr_reg32(data, BTINTEL_PCIE_CSR_MSIX_AUTOMASK_ST,
+ BIT(entry->entry));
return IRQ_NONE;
}