mac80211: return if IBSS chandef can not be used
This was originally designed to fail when a 40+/40- mode can not be used, but basic modes (such as 5/10/20 MHz) must be handled with an error. Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
This commit is contained in:
Родитель
7ca15a0ae8
Коммит
4b42aab1e8
|
@ -85,6 +85,14 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
|
|||
|
||||
chandef = ifibss->chandef;
|
||||
if (!cfg80211_reg_can_beacon(local->hw.wiphy, &chandef)) {
|
||||
if (chandef.width == NL80211_CHAN_WIDTH_5 ||
|
||||
chandef.width == NL80211_CHAN_WIDTH_10 ||
|
||||
chandef.width == NL80211_CHAN_WIDTH_20_NOHT ||
|
||||
chandef.width == NL80211_CHAN_WIDTH_20) {
|
||||
sdata_info(sdata,
|
||||
"Failed to join IBSS, beacons forbidden\n");
|
||||
return;
|
||||
}
|
||||
chandef.width = NL80211_CHAN_WIDTH_20;
|
||||
chandef.center_freq1 = chan->center_freq;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче