summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/fw/api/alive.h
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2018-03-13 14:12:40 +0200
committerLuca Coelho <luciano.coelho@intel.com>2018-08-02 10:50:07 +0300
commitf98ad635c097c29339b7a7d6947173000485893d (patch)
tree93788059369e5b9c49d89968efc853eb648e3066 /drivers/net/wireless/intel/iwlwifi/fw/api/alive.h
parent8edbfaa19835cf0bd2a9b3e5e328ba20a927d10b (diff)
downloadlinux-f98ad635c097c29339b7a7d6947173000485893d.tar.bz2
iwlwifi: pcie: don't access periphery registers when not available
The periphery can't be accessed before we set the INIT_DONE bit which initializes the device. A previous patch added a reconfiguration of the MSI-X tables upon resume, but at that point in the flow, INIT_DONE wasn't set. Since the reconfiguration of the MSI-X tables require periphery access, it failed. The difference between WoWLAN and without WoWLAN is that in WoWLAN, iwl_trans_pcie_d3_suspend clears the INIT_DONE without clearing the STATUS_DEVICE_ENABLED bit in the software status. Because of that, the resume code thinks that the device is enabled, but the INIT_DONE bit has been cleared. To fix this, don't reconfigure the MSI-X tables in case WoWLAN is enabled. It will be done in iwl_trans_pcie_d3_resume anyway. Fixes: 52848a79b9d2 ("iwlwifi: pcie: reconfigure MSI-X HW on resume") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw/api/alive.h')
0 files changed, 0 insertions, 0 deletions