aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/pcie
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2012-12-24 04:10:43 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-01-03 09:28:16 -0500
commit6ae02f3ef7f20af0237e21a979f66b13198921da (patch)
treef2d63c5b6880b8ea7d8c460ff46b4a98b2d05c1e /drivers/net/wireless/iwlwifi/pcie
parentd28cbdef8cb7ea04d5ef7c9d7b14df0751560522 (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.c4
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
437static int iwl_trans_pcie_start_fw(struct iwl_trans *trans, 437static 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);