]> git.baikalelectronics.ru Git - kernel.git/commit
iwlwifi: fix load in rfkill flow for unified firmware
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 29 May 2019 13:39:50 +0000 (16:39 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 1 Jun 2019 05:04:46 +0000 (08:04 +0300)
commitb3500b472c880b5abe90ffd5c4a25aa736f906ad
tree3b55d2c38404bb1321835a5c2cac84b95d347bac
parent23f57bfac7c283746ffba5caf4046b152074b2d9
iwlwifi: fix load in rfkill flow for unified firmware

When we have a single image (same firmware image for INIT and
OPERATIONAL), we couldn't load the driver and register to the
stack if we had hardware RF-Kill asserted.

Fix this. This required a few changes:

1) Run the firmware as part of the INIT phase even if its
   ucode_type is not IWL_UCODE_INIT.
2) Send the commands that are sent to the unified image in
   INIT flow even in RF-Kill.
3) Don't ask the transport to stop the hardware upon RF-Kill
   interrupt if the RF-Kill is asserted.
4) Allow the RF-Kill interrupt to take us out of L1A so that
   the RF-Kill interrupt will be received by the host (to
   enable the radio).

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/intel/iwlwifi/mvm/fw.c
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/ops.c
drivers/net/wireless/intel/iwlwifi/pcie/internal.h