diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-01-23 16:54:03 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-01-29 16:01:45 -0500 |
commit | c771c9d8da1e8292ef8bf7fd4ce135dacc650130 (patch) | |
tree | 79b259a6b0396cbecf9e775c7ba5a80e2c4d94c9 /include/net/mac80211.h | |
parent | 506d03f97d10e54fd27c58c872a98242326d6419 (diff) |
mac80211: add interface list lock
Using only the RTNL has a number of problems, most notably that
ieee80211_iterate_active_interfaces() and other interface list
traversals cannot be done from the internal workqueue because it
needs to be flushed under the RTNL.
This patch introduces a new mutex that protects the interface list
against modifications. A more detailed explanation is part of the
code change.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index c1e8261e899e..8e65adf0a64c 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -928,9 +928,8 @@ enum ieee80211_hw_flags { | |||
928 | * @workqueue: single threaded workqueue available for driver use, | 928 | * @workqueue: single threaded workqueue available for driver use, |
929 | * allocated by mac80211 on registration and flushed when an | 929 | * allocated by mac80211 on registration and flushed when an |
930 | * interface is removed. | 930 | * interface is removed. |
931 | * NOTICE: All work performed on this workqueue should NEVER | 931 | * NOTICE: All work performed on this workqueue must not |
932 | * acquire the RTNL lock (i.e. Don't use the function | 932 | * acquire the RTNL lock. |
933 | * ieee80211_iterate_active_interfaces()) | ||
934 | * | 933 | * |
935 | * @priv: pointer to private area that was allocated for driver use | 934 | * @priv: pointer to private area that was allocated for driver use |
936 | * along with this structure. | 935 | * along with this structure. |