wifi: iwlwifi: mvm: don't wake up rx_sync_waitq upon RFKILL
commit e715c9302b1c6fae990b9898a80fac855549d1f0 upstream. Since we now want to sync the queues even when we're in RFKILL, we shouldn't wake up the wait queue since we still expect to get all the notifications from the firmware. Fixes: 4d08c0b3357c ("wifi: iwlwifi: mvm: handle BA session teardown in RF-kill") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20240703064027.be7a9dbeacde.I5586cb3ca8d6e44f79d819a48a0c22351ff720c9@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
396dc11319
commit
4232ec483b
@ -6189,11 +6189,9 @@ void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
|
||||
if (sync) {
|
||||
lockdep_assert_held(&mvm->mutex);
|
||||
ret = wait_event_timeout(mvm->rx_sync_waitq,
|
||||
READ_ONCE(mvm->queue_sync_state) == 0 ||
|
||||
iwl_mvm_is_radio_hw_killed(mvm),
|
||||
READ_ONCE(mvm->queue_sync_state) == 0,
|
||||
SYNC_RX_QUEUE_TIMEOUT);
|
||||
WARN_ONCE(!ret && !iwl_mvm_is_radio_hw_killed(mvm),
|
||||
"queue sync: failed to sync, state is 0x%lx, cookie %d\n",
|
||||
WARN_ONCE(!ret, "queue sync: failed to sync, state is 0x%lx, cookie %d\n",
|
||||
mvm->queue_sync_state,
|
||||
mvm->queue_sync_cookie);
|
||||
}
|
||||
|
@ -1854,12 +1854,10 @@ static bool iwl_mvm_set_hw_rfkill_state(struct iwl_op_mode *op_mode, bool state)
|
||||
bool rfkill_safe_init_done = READ_ONCE(mvm->rfkill_safe_init_done);
|
||||
bool unified = iwl_mvm_has_unified_ucode(mvm);
|
||||
|
||||
if (state) {
|
||||
if (state)
|
||||
set_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
|
||||
wake_up(&mvm->rx_sync_waitq);
|
||||
} else {
|
||||
else
|
||||
clear_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
|
||||
}
|
||||
|
||||
iwl_mvm_set_rfkill_state(mvm);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user