]> git.baikalelectronics.ru Git - kernel.git/commit
wifi: cfg80211: add a work abstraction with special semantics
authorJohannes Berg <johannes.berg@intel.com>
Tue, 6 Jun 2023 12:49:25 +0000 (14:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Oct 2023 20:00:39 +0000 (22:00 +0200)
commit3fcc6d7d5f40dad56dee7bde787b7e23edd4b93c
tree4bd2bf12cfc2f72bac5610296e690a0e0b0568c1
parent2ae4585f740af2123d71a3ab0048d70a20911362
wifi: cfg80211: add a work abstraction with special semantics

[ Upstream commit a3ee4dc84c4e9d14cb34dad095fd678127aca5b6 ]

Add a work abstraction at the cfg80211 level that will always
hold the wiphy_lock() for any work executed and therefore also
can be canceled safely (without waiting) while holding that.
This improves on what we do now as with the new wiphy works we
don't have to worry about locking while cancelling them safely.

Also, don't let such works run while the device is suspended,
since they'll likely need to interact with the device. Flush
them before suspend though.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Stable-dep-of: 37c20b2effe9 ("wifi: cfg80211: fix cqm_config access race")
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/net/cfg80211.h
net/wireless/core.c
net/wireless/core.h
net/wireless/sysfs.c