Commit b522ed56 authored by Alina Friedrichsen's avatar Alina Friedrichsen Committed by John W. Linville

mac80211: Allow to set channel in adhoc properly

The last patch fixes a bug that it was not possible to set the channel
manually in the ad hoc mode properly.

Please commit this patches so that we don't need the proprietary
Broadcom driver in the near future anymore.
Signed-off-by: default avatarAlina Friedrichsen <x-alina@gmx.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 65f0e6a3
...@@ -230,13 +230,15 @@ static int ieee80211_ioctl_siwfreq(struct net_device *dev, ...@@ -230,13 +230,15 @@ static int ieee80211_ioctl_siwfreq(struct net_device *dev,
{ {
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
if (sdata->vif.type == NL80211_IFTYPE_STATION) if (sdata->vif.type == NL80211_IFTYPE_ADHOC ||
sdata->vif.type == NL80211_IFTYPE_STATION)
sdata->u.sta.flags &= ~IEEE80211_STA_AUTO_CHANNEL_SEL; sdata->u.sta.flags &= ~IEEE80211_STA_AUTO_CHANNEL_SEL;
/* freq->e == 0: freq->m = channel; otherwise freq = m * 10^e */ /* freq->e == 0: freq->m = channel; otherwise freq = m * 10^e */
if (freq->e == 0) { if (freq->e == 0) {
if (freq->m < 0) { if (freq->m < 0) {
if (sdata->vif.type == NL80211_IFTYPE_STATION) if (sdata->vif.type == NL80211_IFTYPE_ADHOC ||
sdata->vif.type == NL80211_IFTYPE_STATION)
sdata->u.sta.flags |= sdata->u.sta.flags |=
IEEE80211_STA_AUTO_CHANNEL_SEL; IEEE80211_STA_AUTO_CHANNEL_SEL;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment