On Thu, 2011-09-15 at 17:33 +0530, Rajkumar Manoharan wrote: > cfg80211_conn_scan allows disabled channels at scan request. > Hence probe request was seen at the disabled one. This patch > ensures that disabled channel never be added into the scan > request's channel list. Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Good catch. We should probably refactor this later to go through a single point... johannes > Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> > --- > net/wireless/sme.c | 19 ++++++++++++------- > 1 files changed, 12 insertions(+), 7 deletions(-) > > diff --git a/net/wireless/sme.c b/net/wireless/sme.c > index dec0fa2..6e86d5a 100644 > --- a/net/wireless/sme.c > +++ b/net/wireless/sme.c > @@ -110,17 +110,22 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev) > else { > int i = 0, j; > enum ieee80211_band band; > + struct ieee80211_supported_band *bands; > + struct ieee80211_channel *channel; > > for (band = 0; band < IEEE80211_NUM_BANDS; band++) { > - if (!wdev->wiphy->bands[band]) > + bands = wdev->wiphy->bands[band]; > + if (!bands) > continue; > - for (j = 0; j < wdev->wiphy->bands[band]->n_channels; > - i++, j++) > - request->channels[i] = > - &wdev->wiphy->bands[band]->channels[j]; > - request->rates[band] = > - (1 << wdev->wiphy->bands[band]->n_bitrates) - 1; > + for (j = 0; j < bands->n_channels; j++) { > + channel = &bands->channels[j]; > + if (channel->flags & IEEE80211_CHAN_DISABLED) > + continue; > + request->channels[i++] = channel; > + } > + request->rates[band] = (1 << bands->n_bitrates) - 1; > } > + n_channels = i; > } > request->n_channels = n_channels; > request->ssids = (void *)&request->channels[n_channels]; -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html