On Mon, 18 Jun 2007 16:47:05 +0800, Hong Liu wrote: > +static void ieee80211_get_supp_channels(struct ieee80211_local *local, > + struct iw_range *range) > +{ > + struct ieee80211_hw_mode *mode = NULL; > + int c = 0, j; > + > + list_for_each_entry(mode, &local->modes_list, list) { > + for (j = 0; > + j < mode->num_channels && c < IW_MAX_FREQUENCIES; j++) { > + struct ieee80211_channel *chan = &mode->channels[j]; > + > + if (is_duplicate_channel(chan, range->freq, c)) > + continue; > + range->freq[c].i = chan->chan; > + range->freq[c].m = chan->freq * 100000; > + range->freq[c].e = 1; > + c++; > + } I don't know exactly what results are supposed to be returned by this ioctl, but given the fact SIOCSIWFREQ allows only channels with the IEEE80211_CHAN_W_SCAN flag set, shouldn't only channels with this flag be returned here? Thanks, Jiri -- Jiri Benc SUSE Labs - 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