On 2011-03-25 3:50 AM, Sujith wrote: > Felix Fietkau wrote: >> AP mode beacon timers in ath9k are configured in milliseconds, which breaks >> when increasing ATH_BCBUF to 8 instead of 4 (due to rounding errors). >> Since the hardware timers are actually configured in microseconds, it's >> better to let the driver use that unit directly. >> >> To be able to do that, the beacon interval parameter abuse for passing >> certain flags needs to be removed. This is easy to do, because those flags >> are completely unnecessary anyway. ATH9K_BEACON_ENA is ignored, >> ATH9K_BEACON_RESET_TSF can be replaced with calling ath9k_hw_reset_tsf >> from the driver directly. > > I know this has been merged, but this changes the behaviour. > > Earlier, the HW TSF would be reset _after_ the beacon timers have been > configured, but now this isn't so. Wouldn't this alter the timers ? The HW TSF reset was still issued before the code would activate the timers (with the write to AR_TIMER_MODE), so I don't think this changes the behaviour of the timers. Since the timers are scheduled for absolute TSF32 values and (in case of a reset being issued) always set to TU_TO_USEC(intval / ATH_BCBUF), that leaves enough time for the timers to settle in after the TSF reset, so I don't expect any race conditions there. - Felix -- 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