]> www.infradead.org Git - users/hch/configfs.git/commitdiff
wifi: iwlwifi: mvm: don't wake up rx_sync_waitq upon RFKILL
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 3 Jul 2024 03:43:16 +0000 (06:43 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 3 Jul 2024 14:05:07 +0000 (16:05 +0200)
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>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/ops.c

index b1e6d4eee68d22e407e7f61ed064bdf7cd8a63e5..d8c72da617ae3b44de782b9e6ae28b701b277efe 100644 (file)
@@ -6410,11 +6410,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);
        }
index 53283d052e18904c4813147cf04768150cb684ef..ac6f6e40b418ef0d29a19822b387c27e40ac3c9f 100644 (file)
@@ -1912,12 +1912,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);