aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSai Teja Aluvala <aluvala.sai.teja@intel.com>2026-09-29 11:42:33 +0530
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2026-09-29 10:46:49 -0400
commit1465494e8d07426fa41c0021530cccb2a1ac38fa (patch)
tree8235a9b61d0f97103b8f5f51ed0fc9efaaecc6e9
parentac022970e9fb0a5f7e7d1f6c8e104c1ed924dd1c (diff)
Bluetooth: btintel_pcie: Add shared HW reset for clean start
Reset shared Bluetooth hardware after mapping the BAR and before setting up MSI-X interrupts, so stale device state is cleared before IRQ handlers and interrupt masks are configured. Propagate reset errors so probe aborts rather than continuing when the reset fails. Fixes: c2b636b3f788 ("Bluetooth: btintel_pcie: Add support for PCIe transport") Signed-off-by: Sai Teja Aluvala <aluvala.sai.teja@intel.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-rw-r--r--drivers/bluetooth/btintel_pcie.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index d525269be501..0194badeeff3 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -1877,6 +1877,13 @@ static int btintel_pcie_config_pcie(struct pci_dev *pdev,
if (IS_ERR(data->base_addr))
return PTR_ERR(data->base_addr);
+ /* Do shared hardware reset to ensure a clean start before
+ * configuring interrupts.
+ */
+ err = btintel_pcie_reset_bt(data);
+ if (err)
+ return err;
+
err = btintel_pcie_setup_irq(data);
if (err)
return err;