On Sat January 8 2011 22:08:41 Brian Prodoehl wrote: > I guess I saw what I wanted to see when I took a second look at the > re-posted patch. Here are compile-fixes to all the affected drivers. > The following drivers are affected: mwl8k, iwlwifi, iwmc3200wifi, > libertas, rt2x00, wl1251 and wl12xx. So I guess these driver fixes > need to be split into seven patches. I don't use any of these > drivers, so I can't really vouch for if I'm pulling the band the > correct way for each. I'm happy to split and submit, but I wouldn't > mind another set of eyes on these changes. Thanks! I would say these changes have to be merged with my patch, so it can be applied without breaking git bisect for the affected drivers. > compat-wireless-2011-01-07.orig/drivers/net/wireless/libertas/cfg.c 2011-0 > 1-07 15:03:59.000000000 -0500 > +++ > compat-wireless-2011-01-07/drivers/net/wireless/libertas/cfg.c 2011-01-08 > 07:51:23.947290769 -0500 > @@ -607,7 +607,8 @@ > /* No channel, no luck */ > if (chan_no != -1) { > struct wiphy *wiphy = priv->wdev->wiphy; > - int freq = ieee80211_channel_to_frequency(chan_no); > + int freq = ieee80211_channel_to_frequency(chan_no, > + chan_no <= 14 ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ); The whole point of having the band argument is to avoid this. We now have overlapping channel numbers: channel 8 and 12 are defined in 5GHz as well as in 2.4GHz (that is for 20MHz channel width, there are more for 10 and 5MHz width, but we don't support that yet). The band has to come from the hardware or driver configuration. > @@ -1597,7 +1598,8 @@ > lbs_deb_enter(LBS_DEB_CFG80211); > > survey->channel = ieee80211_get_channel(wiphy, > - ieee80211_channel_to_frequency(priv->channel)); > + ieee80211_channel_to_frequency(priv->channel, > + priv->channel <= 14 ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ)); Same here. > compat-wireless-2011-01-07.orig/drivers/net/wireless/rt2x00/rt2x00dev.c 20 > 11-01-07 15:03:59.000000000 -0500 > +++ > compat-wireless-2011-01-07/drivers/net/wireless/rt2x00/rt2x00dev.c 2011-01 > -08 07:51:23.971290769 -0500 > @@ -649,7 +649,8 @@ > const int channel, const int tx_power, > const int value) > { > - entry->center_freq = ieee80211_channel_to_frequency(channel); > + entry->center_freq = ieee80211_channel_to_frequency(channel, > + channel <= 14 ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ); And here. So the two problematic drivers are libertas and rt2x00. I'm Cc'ing the maintainers, and hope that they have better insight into how to fix this than we. bruno -- 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