summaryrefslogtreecommitdiff
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorKiran K <kiran.k@intel.com>2024-05-17 12:54:46 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2024-07-15 04:33:28 +0300
commit041677e7aad6f57020aa271aafd4cb9e2af1536f (patch)
treed3631c11255e7b35ac42970323a935ac1bd6cd3e /drivers/bluetooth
parent17813af5656b1f47fc3bc2c486ac8014e0026ad8 (diff)
downloadlinux-041677e7aad6f57020aa271aafd4cb9e2af1536f.tar.xz
Bluetooth: btintel_pcie: Fix irq leak
Free irq before releasing irq vector. 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/bluetooth')
-rw-r--r--drivers/bluetooth/btintel_pcie.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 4ebd5b22a40f..58144c82b1cb 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -1329,6 +1329,12 @@ static void btintel_pcie_remove(struct pci_dev *pdev)
data = pci_get_drvdata(pdev);
btintel_pcie_reset_bt(data);
+ for (int i = 0; i < data->alloc_vecs; i++) {
+ struct msix_entry *msix_entry;
+
+ msix_entry = &data->msix_entries[i];
+ free_irq(msix_entry->vector, msix_entry);
+ }
pci_free_irq_vectors(pdev);