On Thursday 07 June 2007 17:43, Larry Finger wrote: > + sdata->u.sta.supp_rates_bits = supp; Can't do this unless you verify sdata->type is IEEE80211_IF_TYPE_STA or IEEE80211_IF_TYPE_IBSS. Also, what rate(s) we choose to TX at doesn't have much to do with what rates we actually support. I don't think this should be set. > + if (sdata->type == IEEE80211_IF_TYPE_STA) { > + sta = sta_info_get(local, sdata->u.sta.bssid); > + if (sta) { > + sta->txrate = sdata->u.ap.max_ratectrl_rateidx; This is automatically set as soon as the next frame is TXed, as said before in the previous review. > + sta->supp_rates = supp; This is definitely wrong. What rates we support has nothing to do with what rates the AP supports. One last thing - max_ratectrl_rateidx should be set to -1 to indicate no maximum. Not doing this will cause problems when switching from one hw mode to another with a different number of rates. -Michael Wu
Attachment:
pgpk92JdiA5xf.pgp
Description: PGP signature