diff options
author | Johannes Berg <johannes.berg@intel.com> | 2017-06-20 12:51:30 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2017-06-29 19:40:05 +0200 |
commit | 52848a79b9d2d6773160221e7ea1e1500954de84 (patch) | |
tree | 726911ecfc6a4ddb7f5af4564823d160aadbb3c7 /drivers/net/wireless/intel/iwlwifi/pcie/drv.c | |
parent | iwlwifi: mvm: don't send fetch the TID from a non-QoS packet in TSO (diff) | |
download | linux-52848a79b9d2d6773160221e7ea1e1500954de84.tar.xz linux-52848a79b9d2d6773160221e7ea1e1500954de84.zip |
iwlwifi: pcie: reconfigure MSI-X HW on resume
When going into suspend, the HW configuration for MSI-X will
likely be lost. As a consequence, after waking up, all IRQ
causes will be mapped to interrupt 0, and as a consequence we
don't notice the interrupt because in most cases this is an
interrupt for a queue, and getting it doesn't read the other
cause registers.
Fixes: 2e5d4a8f61dc ("iwlwifi: pcie: Add new configuration to enable MSIX")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/drv.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index 3ca0f374c081..f16c1bb9bf94 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -799,6 +799,9 @@ static int iwl_pci_resume(struct device *device) if (!trans->op_mode) return 0; + /* reconfigure the MSI-X mapping to get the correct IRQ for rfkill */ + iwl_pcie_conf_msix_hw(trans_pcie); + /* * Enable rfkill interrupt (in order to keep track of the rfkill * status). Must be locked to avoid processing a possible rfkill |