On 10/29/07, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > > > --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c > > +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c > > @@ -5414,10 +5414,10 @@ static int iwl_init_geos(struct iwl_priv *priv) > > * is supported by a mode -- and the first match is taken > > */ > > > > - if (modes[G].num_channels) > > - ieee80211_register_hwmode(priv->hw, &modes[G]); > > if (modes[B].num_channels) > > ieee80211_register_hwmode(priv->hw, &modes[B]); > > + if (modes[G].num_channels) > > + ieee80211_register_hwmode(priv->hw, &modes[G]); > > if (modes[A].num_channels) > > ieee80211_register_hwmode(priv->hw, &modes[A]); > > Huh no, you misunderstood my mail. > > This makes mac80211 always select 802.11B mode which is not what you > want. You want to change the order of rates within the G mode. > shouldn't this one do it? (untested) --- diff --git a/origin/iwl-3945-rs.h b/origin/iwl-3945-rs.h index 09fa1a7..18b19a2 100644 --- a/origin/iwl-3945-rs.h +++ b/origin/iwl-3945-rs.h @@ -39,7 +39,11 @@ struct iwl_rate_info { }; enum { - IWL_RATE_6M_INDEX = 0, + IWL_RATE_1M_INDEX = 0, + IWL_RATE_2M_INDEX, + IWL_RATE_5M_INDEX, + IWL_RATE_11M_INDEX, + IWL_RATE_6M_INDEX, IWL_RATE_9M_INDEX, IWL_RATE_12M_INDEX, IWL_RATE_18M_INDEX, @@ -47,10 +51,6 @@ enum { IWL_RATE_36M_INDEX, IWL_RATE_48M_INDEX, IWL_RATE_54M_INDEX, - IWL_RATE_1M_INDEX, - IWL_RATE_2M_INDEX, - IWL_RATE_5M_INDEX, - IWL_RATE_11M_INDEX, IWL_RATE_COUNT, IWL_RATE_INVM_INDEX, IWL_RATE_INVALID = IWL_RATE_INVM_INDEX - 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