iwlwifi: pcie: don't enable BHs with IRQs disabled
authorJohannes Berg <johannes.berg@intel.com>
Thu, 15 Apr 2021 13:48:46 +0000 (16:48 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Sun, 18 Apr 2021 06:37:38 +0000 (09:37 +0300)
commitc544d89b0d67d9b714846035913c270375c0ce00
tree580c8340bb451c0196702b390ab6a52bf46da86b
parentfa84df705260513a6f690275d4fd2c0b054849b0
iwlwifi: pcie: don't enable BHs with IRQs disabled

After the fix from Jiri that disabled local IRQs instead of
just BHs (necessary to fix an issue with submitting a command
with IRQs already disabled), there was still a situation in
which we could deep in there enable BHs, if the device config
sets the apmg_wake_up_wa configuration, which is true on all
7000 series devices.

To fix that, but not require reverting commit 1ed08f6fb5ae
("iwlwifi: remove flags argument for nic_access"), split up
nic access into a version with BH manipulation to use most
of the time, and without it for this specific case where the
local IRQs are already disabled.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20210415164821.d0f2edda1651.I75f762e0bed38914d1300ea198b86dd449b4b206@changeid
drivers/net/wireless/intel/iwlwifi/pcie/internal.h
drivers/net/wireless/intel/iwlwifi/pcie/trans.c
drivers/net/wireless/intel/iwlwifi/pcie/tx.c