From: Johannes Berg Date: Tue, 20 Jun 2017 10:51:30 +0000 (+0200) Subject: iwlwifi: pcie: reconfigure MSI-X HW on resume X-Git-Tag: v4.13-rc1~157^2~16^2^2~7 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=52848a79b9d2d6773160221e7ea1e1500954de84;p=karo-tx-linux.git 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 Signed-off-by: Luca Coelho --- 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