]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: mld: don't flush async_handlers_wk when canceling notifications
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Sun, 17 May 2026 07:59:45 +0000 (10:59 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Tue, 26 May 2026 12:17:13 +0000 (15:17 +0300)
iwl_mld_cancel_async_notifications does 2 things: it purges the list of
notifications and flushes the async_handlers_wk.

We call iwl_mld_cancel_async_notifications after we stopped or suspended
the fw. So in that stage we don't expect any new notification coming,
and if erroneously there are new notifications coming, the work will be
queued again anyway, so the flush is pretty much pointless.

iwl_mld_cancel_async_notifications will need to be called in a context
w/o the wiphy lock held, and the only reason why this function requires
the lock being held is for flushing the work.

Remove the flush.

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20260517100550.70dddca96191.I06d3c6433ec22f81f2fb3fb2ee43881e662c5212@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
drivers/net/wireless/intel/iwlwifi/mld/notif.c

index d7383022a0ed7dc31381ae97567f5042fbf75d4c..7574689e40883c98cbe48c2f589f72d6a8c8fdde 100644 (file)
@@ -694,10 +694,6 @@ void iwl_mld_cancel_async_notifications(struct iwl_mld *mld)
 {
        struct iwl_async_handler_entry *entry, *tmp;
 
-       lockdep_assert_wiphy(mld->wiphy);
-
-       wiphy_work_cancel(mld->wiphy, &mld->async_handlers_wk);
-
        spin_lock_bh(&mld->async_handlers_lock);
        list_for_each_entry_safe(entry, tmp, &mld->async_handlers_list, list) {
                iwl_mld_log_async_handler_op(mld, "Purged", &entry->rxb);