Am Donnerstag 24 Juni 2010 schrieb Johannes Berg: > a) You get a new beacon from mac80211 each time you send it. Then you > don't have to worry about the set_tim() callback at all -- don't > assign it! > > b) You need to get a new beacon frame from mac80211 only when it > changes. You can do this from set_tim(). HOWEVER: since you're not > getting a new one from mac80211 all the time anyway, you NEED to > have the driver or firmware overwrite the DTIM count, like b43's > firmware for example will do. > > Ok so maybe there are more possibilities like the firmware filling the > TIM IE differently and you would use set_tim() differently then. > > However, *fundamentally*, any time you don't get a new skb from mac80211 > for each transmitted beacon you NEED to overwrite the DTIM count in it. So, to answer my own question: mac80211 behaves as designed and we need to fix rt2x00 to correctly update the DTIM parameters when we stick to the set_tim callback for updating the beacon template (option b). Or we would implement option a) to get a new beacon prior to transmission and would get a correct DTIM count from mac80211. Thanks for the clarification, Helmut -- 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