diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2012-01-08 15:48:21 +0400 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2012-02-03 02:36:51 +0400 |
commit | d48e2074e240192e8a0396e1ae0082dd0e78aa8e (patch) | |
tree | 95423f06e23f3361a78d60cbc8d222abb7ef00b2 /drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | |
parent | cc56feb2eb06a0a80a8f07e4adab7e6626009cca (diff) | |
download | linux-d48e2074e240192e8a0396e1ae0082dd0e78aa8e.tar.xz |
iwlwifi: move the RF kill logic from iwl_probe to transport
This is another clean up of the proble flow.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans-pcie.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c index 43e894f6737d..362444a7ed57 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c @@ -1393,6 +1393,17 @@ static int iwl_trans_pcie_start_hw(struct iwl_trans *trans) iwl_apm_init(trans); + /* If platform's RF_KILL switch is NOT set to KILL */ + if (iwl_read32(trans, + CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW) + clear_bit(STATUS_RF_KILL_HW, &trans->shrd->status); + else + set_bit(STATUS_RF_KILL_HW, &trans->shrd->status); + + iwl_set_hw_rfkill_state(priv(trans), + test_bit(STATUS_RF_KILL_HW, + &trans->shrd->status)); + return err; error: |