mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
[PATCH] ipw2200: Filter unsupported channels out in ad-hoc mode
Currently iwlist ethX freq[uency]/channel lists all the channels the card supported for the current region, which includes some channels can only be used in infrastructure mode. This patch filters these channels out if the card is currently in ad-hoc mode. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
e8c69e27d1
commit
e815de422c
1 changed files with 12 additions and 4 deletions
|
@ -8387,20 +8387,28 @@ static int ipw_wx_get_range(struct net_device *dev,
|
|||
|
||||
i = 0;
|
||||
if (priv->ieee->mode & (IEEE_B | IEEE_G)) {
|
||||
for (j = 0; j < geo->bg_channels && i < IW_MAX_FREQUENCIES;
|
||||
i++, j++) {
|
||||
for (j = 0; j < geo->bg_channels && i < IW_MAX_FREQUENCIES; j++) {
|
||||
if ((priv->ieee->iw_mode == IW_MODE_ADHOC) &&
|
||||
(geo->bg[j].flags & IEEE80211_CH_PASSIVE_ONLY))
|
||||
continue;
|
||||
|
||||
range->freq[i].i = geo->bg[j].channel;
|
||||
range->freq[i].m = geo->bg[j].freq * 100000;
|
||||
range->freq[i].e = 1;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
if (priv->ieee->mode & IEEE_A) {
|
||||
for (j = 0; j < geo->a_channels && i < IW_MAX_FREQUENCIES;
|
||||
i++, j++) {
|
||||
for (j = 0; j < geo->a_channels && i < IW_MAX_FREQUENCIES; j++) {
|
||||
if ((priv->ieee->iw_mode == IW_MODE_ADHOC) &&
|
||||
(geo->a[j].flags & IEEE80211_CH_PASSIVE_ONLY))
|
||||
continue;
|
||||
|
||||
range->freq[i].i = geo->a[j].channel;
|
||||
range->freq[i].m = geo->a[j].freq * 100000;
|
||||
range->freq[i].e = 1;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue