diff options
author | Simon Wunderlich <sw@simonwunderlich.de> | 2013-11-21 12:19:51 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-12-02 05:51:54 -0500 |
commit | e487eaeb076a44c69dc61348cbc903151bb8fcbd (patch) | |
tree | 715d57f18ec0f3e3565a711f43248a3b8c8a42eb /include | |
parent | 7ca133bc7f9dd5cee2b469eb917bd352be80a690 (diff) |
cfg80211/mac80211/ath6kl: acquire wdev lock outside ch_switch_notify
The channel switch notification should be sent under the
wdev/sdata-lock, preferably in the same moment as the channel change
happens, to avoid races by other callers (e.g. start/stop_ap).
This also adds the previously missing sdata_lock protection in
csa_finalize_work.
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/cfg80211.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 6c2bc329a900..e9abc7b536cd 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -4286,7 +4286,8 @@ bool cfg80211_reg_can_beacon(struct wiphy *wiphy, | |||
4286 | * @dev: the device which switched channels | 4286 | * @dev: the device which switched channels |
4287 | * @chandef: the new channel definition | 4287 | * @chandef: the new channel definition |
4288 | * | 4288 | * |
4289 | * Acquires wdev_lock, so must only be called from sleepable driver context! | 4289 | * Caller must acquire wdev_lock, therefore must only be called from sleepable |
4290 | * driver context! | ||
4290 | */ | 4291 | */ |
4291 | void cfg80211_ch_switch_notify(struct net_device *dev, | 4292 | void cfg80211_ch_switch_notify(struct net_device *dev, |
4292 | struct cfg80211_chan_def *chandef); | 4293 | struct cfg80211_chan_def *chandef); |