On Tuesday 29 April 2008 18:01:22 Vladimir Koutny wrote: > Hi, > the warning in $subj can pop up in the following scenario: > > - iwconfig wlan0 mode ad-hoc; ifconfig wlan0 up > - a frame arrives from an unknown station which triggers > ieee80211_ibss_sta_add() (called from prepare_for_handlers()) yep, i have seen this warning too, just didn't get around to look into it... > In this case, we create a new sta entry, fill in supp_rates field, > initialize rate_control algo, and insert this sta entry into the list. > > The problem is the assignment for supp_rates: > > sta->supp_rates[local->hw.conf.channel->band] = > sdata->u.sta.supp_rates_bits[local->hw.conf.channel->band]; > > because sdata->u.sta.supp_rates_bits is set only when we actually > join an ibss, which is not the case in this scenario; so we assign > zero here. Then, the code in rate_control_pid_rate_init() calls > rate_lowest_index() for some reason, and since no supported rate is > found, this warning is issued. > > > The question is how sta->supp_rates should be initialized: > > - we could initialize it to our sta's rates, but then we could > probably transmit to a station at unsupported rate isn't this what is done right now, and the rateset is zero sometimes and then we get the warning? this might be wrong anyways: as you said it could make us send frames at an unsupported rate. > - add new ibss station only on received beacon, not on a data frame; > currently, beacons are ignored for this purpose (they just update > the bss list later on) i think stations should be added on reception of both beacons and data frames. > - something else (like 1Mbps only)? what about the rate of the currently received data frame (and maybe any other rates we could safely deduce from that)? 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