|
@@ -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);
|
|
|
|
|
|
- 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;
|
|
|
|
|
|
/* freq->e == 0: freq->m = channel; otherwise freq = m * 10^e */
|
|
|
if (freq->e == 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 |=
|
|
|
IEEE80211_STA_AUTO_CHANNEL_SEL;
|
|
|
return 0;
|