mac80211: add interface list lock
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 23 Jan 2009 21:54:03 +0000 (22:54 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 21:01:45 +0000 (16:01 -0500)
commitc771c9d8da1e8292ef8bf7fd4ce135dacc650130
tree79b259a6b0396cbecf9e775c7ba5a80e2c4d94c9
parent506d03f97d10e54fd27c58c872a98242326d6419
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>
include/net/mac80211.h
net/mac80211/ieee80211_i.h
net/mac80211/iface.c
net/mac80211/main.c
net/mac80211/util.c