From 59a5876e474ac62ccd199faba5baf92709b1f431 Mon Sep 17 00:00:00 2001 From: Miri Korenblit Date: Sun, 17 May 2026 10:59:45 +0300 Subject: [PATCH] wifi: iwlwifi: mld: don't flush async_handlers_wk when canceling notifications 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 Link: https://patch.msgid.link/20260517100550.70dddca96191.I06d3c6433ec22f81f2fb3fb2ee43881e662c5212@changeid Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/notif.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/notif.c b/drivers/net/wireless/intel/iwlwifi/mld/notif.c index d7383022a0ed..7574689e4088 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/notif.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/notif.c @@ -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);