Commit 3dd3b79aeadc6f6abc5cc78724d7df3dfcc1bd0b
Committed by
John W. Linville
1 parent
e91af0af86
Exists in
master
and in
7 other branches
mac80211 : Fix setting ad-hoc mode and non-ibss channel
Patch fixes the kernel trace when user tries to set ad-hoc mode on non IBSS channel. e.g iwconfig wlan0 chan 36 mode ad-hoc Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Showing 1 changed file with 8 additions and 0 deletions Side-by-side Diff
net/mac80211/wext.c
... | ... | @@ -271,6 +271,7 @@ |
271 | 271 | __u32 *mode, char *extra) |
272 | 272 | { |
273 | 273 | struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); |
274 | + struct ieee80211_local *local = sdata->local; | |
274 | 275 | int type; |
275 | 276 | |
276 | 277 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) |
... | ... | @@ -281,6 +282,13 @@ |
281 | 282 | type = NL80211_IFTYPE_STATION; |
282 | 283 | break; |
283 | 284 | case IW_MODE_ADHOC: |
285 | + /* Setting ad-hoc mode on non ibss channel is not | |
286 | + * supported. | |
287 | + */ | |
288 | + if (local->oper_channel && | |
289 | + (local->oper_channel->flags & IEEE80211_CHAN_NO_IBSS)) | |
290 | + return -EOPNOTSUPP; | |
291 | + | |
284 | 292 | type = NL80211_IFTYPE_ADHOC; |
285 | 293 | break; |
286 | 294 | case IW_MODE_REPEAT: |