|
@@ -1094,6 +1094,16 @@ static void iwl_mvm_wake_sw_queue(struct iwl_op_mode *op_mode, int hw_queue)
|
|
|
iwl_mvm_start_mac_queues(mvm, mq);
|
|
|
}
|
|
|
|
|
|
+static void iwl_mvm_set_rfkill_state(struct iwl_mvm *mvm)
|
|
|
+{
|
|
|
+ bool state = iwl_mvm_is_radio_killed(mvm);
|
|
|
+
|
|
|
+ if (state)
|
|
|
+ wake_up(&mvm->rx_sync_waitq);
|
|
|
+
|
|
|
+ wiphy_rfkill_set_hw_state(mvm->hw->wiphy, state);
|
|
|
+}
|
|
|
+
|
|
|
void iwl_mvm_set_hw_ctkill_state(struct iwl_mvm *mvm, bool state)
|
|
|
{
|
|
|
if (state)
|
|
@@ -1101,7 +1111,7 @@ void iwl_mvm_set_hw_ctkill_state(struct iwl_mvm *mvm, bool state)
|
|
|
else
|
|
|
clear_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status);
|
|
|
|
|
|
- wiphy_rfkill_set_hw_state(mvm->hw->wiphy, iwl_mvm_is_radio_killed(mvm));
|
|
|
+ iwl_mvm_set_rfkill_state(mvm);
|
|
|
}
|
|
|
|
|
|
static bool iwl_mvm_set_hw_rfkill_state(struct iwl_op_mode *op_mode, bool state)
|
|
@@ -1114,7 +1124,7 @@ static bool iwl_mvm_set_hw_rfkill_state(struct iwl_op_mode *op_mode, bool state)
|
|
|
else
|
|
|
clear_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
|
|
|
|
|
|
- wiphy_rfkill_set_hw_state(mvm->hw->wiphy, iwl_mvm_is_radio_killed(mvm));
|
|
|
+ iwl_mvm_set_rfkill_state(mvm);
|
|
|
|
|
|
/* iwl_run_init_mvm_ucode is waiting for results, abort it */
|
|
|
if (calibrating)
|