mac80211: Add stations iterator where the iterator function may sleep
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Tue, 28 Dec 2021 21:14:53 +0000 (22:14 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 4 Jan 2022 14:47:15 +0000 (15:47 +0100)
commitacb99b9b2a08f439a13eafffd2a59b798d983462
tree4c6e2bd002d5bd4203cebac0806dc945c8e125fe
parent04be6d337d37400ad5b3d5f27ca87645ee5a18a3
mac80211: Add stations iterator where the iterator function may sleep

ieee80211_iterate_active_interfaces() and
ieee80211_iterate_active_interfaces_atomic() already exist, where the
former allows the iterator function to sleep. Add
ieee80211_iterate_stations() which is similar to
ieee80211_iterate_stations_atomic() but allows the iterator to sleep.
This is needed for adding SDIO support to the rtw88 driver. Some
interators there are reading or writing registers. With the SDIO ops
(sdio_readb, sdio_writeb and friends) this means that the iterator
function may sleep.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Link: https://lore.kernel.org/r/20211228211501.468981-2-martin.blumenstingl@googlemail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/util.c