Commit 428da765 authored by Ivo van Doorn's avatar Ivo van Doorn Committed by John W. Linville

mac80211: Add RTNL warning for workqueue

The workqueue provided by mac80211 should not be used for
scheduled tasks that acquire the RTNL lock. This could be done
when the driver uses the function ieee80211_iterate_active_interfaces()
within the scheduled work. Such behavior will end in locking
dependencies problems when an interface is being removed.

This patch will add a notification about the RTNL locking and
the mac80211 workqueue to prevent driver developers from
blindly using it.
Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f37d08bd
...@@ -738,8 +738,11 @@ enum ieee80211_hw_flags { ...@@ -738,8 +738,11 @@ enum ieee80211_hw_flags {
* @conf: &struct ieee80211_conf, device configuration, don't use. * @conf: &struct ieee80211_conf, device configuration, don't use.
* *
* @workqueue: single threaded workqueue available for driver use, * @workqueue: single threaded workqueue available for driver use,
* allocated by mac80211 on registration and flushed on * allocated by mac80211 on registration and flushed when an
* unregistration. * interface is removed.
* NOTICE: All work performed on this workqueue should NEVER
* acquire the RTNL lock (i.e. Don't use the function
* ieee80211_iterate_active_interfaces())
* *
* @priv: pointer to private area that was allocated for driver use * @priv: pointer to private area that was allocated for driver use
* along with this structure. * along with this structure.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment