summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/pcie
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2013-07-25 13:14:34 +0300
committerJohannes Berg <johannes.berg@intel.com>2013-10-02 18:00:37 +0200
commit889b169650c5b2cfeac8bcf34137af84a85b1cb8 (patch)
tree1111b7547db98a182b4f0c9316e525626f3c076f /drivers/net/wireless/iwlwifi/pcie
parent5a258aaeecba57f1bf8bb5d1603c7c094377992b (diff)
downloadop-kernel-dev-889b169650c5b2cfeac8bcf34137af84a85b1cb8.zip
op-kernel-dev-889b169650c5b2cfeac8bcf34137af84a85b1cb8.tar.gz
iwlwifi: pcie: clean RFKILL interrupt in AMPG
Newer firmware don't clean the RFKILL interrupt in APMG, do it in driver instead. If we forget to do so, we can't send HCMD to firmware while the NIC is in RFKILL state. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/pcie')
-rw-r--r--drivers/net/wireless/iwlwifi/pcie/trans.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c
index bad95d2..e66c7e3 100644
--- a/drivers/net/wireless/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/iwlwifi/pcie/trans.c
@@ -220,6 +220,9 @@ static int iwl_pcie_apm_init(struct iwl_trans *trans)
iwl_set_bits_prph(trans, APMG_PCIDEV_STT_REG,
APMG_PCIDEV_STT_VAL_L1_ACT_DIS);
+ /* Clear the interrupt in APMG if the NIC is in RFKILL */
+ iwl_write_prph(trans, APMG_RTC_INT_STT_REG, APMG_RTC_INT_STT_RFKILL);
+
set_bit(STATUS_DEVICE_ENABLED, &trans_pcie->status);
out:
OpenPOWER on IntegriCloud