diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2012-12-24 04:10:43 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-01-03 09:28:16 -0500 |
commit | 6ae02f3ef7f20af0237e21a979f66b13198921da (patch) | |
tree | f2d63c5b6880b8ea7d8c460ff46b4a98b2d05c1e /drivers/net/wireless/iwlwifi/pcie | |
parent | d28cbdef8cb7ea04d5ef7c9d7b14df0751560522 (diff) |
iwlwifi: let the op_mode run a FW while in RFKILL
In some cases, the fw should run even if the NIC is in
RFKILL. Make the API more flexible to allow that.
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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c index ab179ce36de5..e67e179bd04b 100644 --- a/drivers/net/wireless/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/iwlwifi/pcie/trans.c | |||
@@ -435,7 +435,7 @@ static int iwl_pcie_load_given_ucode(struct iwl_trans *trans, | |||
435 | } | 435 | } |
436 | 436 | ||
437 | static int iwl_trans_pcie_start_fw(struct iwl_trans *trans, | 437 | static int iwl_trans_pcie_start_fw(struct iwl_trans *trans, |
438 | const struct fw_img *fw) | 438 | const struct fw_img *fw, bool run_in_rfkill) |
439 | { | 439 | { |
440 | struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); | 440 | struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); |
441 | int ret; | 441 | int ret; |
@@ -454,7 +454,7 @@ static int iwl_trans_pcie_start_fw(struct iwl_trans *trans, | |||
454 | /* If platform's RF_KILL switch is NOT set to KILL */ | 454 | /* If platform's RF_KILL switch is NOT set to KILL */ |
455 | hw_rfkill = iwl_is_rfkill_set(trans); | 455 | hw_rfkill = iwl_is_rfkill_set(trans); |
456 | iwl_op_mode_hw_rf_kill(trans->op_mode, hw_rfkill); | 456 | iwl_op_mode_hw_rf_kill(trans->op_mode, hw_rfkill); |
457 | if (hw_rfkill) | 457 | if (hw_rfkill && !run_in_rfkill) |
458 | return -ERFKILL; | 458 | return -ERFKILL; |
459 | 459 | ||
460 | iwl_write32(trans, CSR_INT, 0xFFFFFFFF); | 460 | iwl_write32(trans, CSR_INT, 0xFFFFFFFF); |