summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/pcie
diff options
context:
space:
mode:
authorHaim Dreyfuss <haim.dreyfuss@intel.com>2016-03-27 12:56:13 +0300
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2016-03-30 16:24:50 +0300
commit8d80717a12c138f3d765d91feab0c08190a21d85 (patch)
treebfd5f44ec2e48d5d7b0dcb33690f740d1fc7b73b /drivers/net/wireless/intel/iwlwifi/pcie
parent9d9b21d1b61647d5a37241571c0e3eb7cc04b348 (diff)
downloadlinux-8d80717a12c138f3d765d91feab0c08190a21d85.tar.xz
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>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/trans.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
index f1a506b609d7..5e1a13e82d60 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/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;
}