From: Johannes Berg Date: Mon, 9 Oct 2023 08:18:01 +0000 (+0200) Subject: wifi: cfg80211: use system_unbound_wq for wiphy work X-Git-Tag: v6.6.7~1673^2~6^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=91d20ab9d9ca035527af503d00e1e30d6c375f2a;p=platform%2Fkernel%2Flinux-starfive.git wifi: cfg80211: use system_unbound_wq for wiphy work Since wiphy work items can run pretty much arbitrary code in the stack/driver, it can take longer to run all of this, so we shouldn't be using system_wq via schedule_work(). Also, we lock the wiphy (which is the reason this exists), so use system_unbound_wq. Reported-and-tested-by: Kalle Valo Fixes: a3ee4dc84c4e ("wifi: cfg80211: add a work abstraction with special semantics") Signed-off-by: Johannes Berg --- diff --git a/net/wireless/core.c b/net/wireless/core.c index 64e8616..acec41c 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -1622,7 +1622,7 @@ void wiphy_work_queue(struct wiphy *wiphy, struct wiphy_work *work) list_add_tail(&work->entry, &rdev->wiphy_work_list); spin_unlock_irqrestore(&rdev->wiphy_work_lock, flags); - schedule_work(&rdev->wiphy_work); + queue_work(system_unbound_wq, &rdev->wiphy_work); } EXPORT_SYMBOL_GPL(wiphy_work_queue);