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); |
