瀏覽代碼

iwlwifi: pcie: Fix index iteration on free_irq in MSIX mode

In MSIX mode we iterate over the allocated interrupt vectors and
register them to an handler. In case of registration failure,
we free all the allocated irq.
we use the outer index mistakenly instead of the inner one.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Haim Dreyfuss 9 年之前
父節點
當前提交
8d80717a12
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/net/wireless/intel/iwlwifi/pcie/trans.c

+ 2 - 2
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

@@ -1500,8 +1500,8 @@ static int iwl_pcie_init_msix_handler(struct pci_dev *pdev,
 			IWL_ERR(trans_pcie->trans,
 				"Error allocating IRQ %d\n", i);
 			for (j = 0; j < i; j++)
-				free_irq(trans_pcie->msix_entries[i].vector,
-					 &trans_pcie->msix_entries[i]);
+				free_irq(trans_pcie->msix_entries[j].vector,
+					 &trans_pcie->msix_entries[j]);
 			pci_disable_msix(pdev);
 			return ret;
 		}