[rt2x00-users] [RFC/RFT 00/15] Beaconing updates and tasklet conversion

Helmut Schaa helmut.schaa at googlemail.com
Wed Dec 29 03:03:55 EST 2010


Am Dienstag, 28. Dezember 2010 schrieb Johannes Stezenbach:
> Hi,
> 
> On Wed, Dec 15, 2010 at 08:30:50AM +0100, Helmut Schaa wrote:
> > The first part of this series tries to make the beacon handling behave
> > correctly in multi interface scenarios and prepares for periodic beacon
> > updates to be atomic.
> > 
> > The second part of this series converts all PCI drivers to use tasklets
> > on a per-interrupt basis instead of one interrupt thread to handle them
> > all.
> 
> I briefly looked through these patches and discovered
> that I have no clue how beacon updates work...
> 
> It seems:
> 
> - PRE_TBTT irq
> - call ieee80211_beacon_get() to get updated TIM for next beacon
> - write updated beacon to hw in time before TBTT
>
> Can someone confirm my understanding is correct?

It is.

> If it is correct, how does it work on USB where we
> don't get a PRE_TBTT irq?

On USB we will never be able to generate correct beacons. We only push a new
beacon to the hw when
a) the beacon template changes
b) a tim bit gets set (==STA wake/sleep transition)

> And what would be the consequence of sending
> a beacon with wrong TIM?

The TIM should be correct on USB through the usage of set_tim but the DTIM
count won't be correct (for DTIM periods > 1). And we don't have a chance to
send out buffered mc and bc traffic out just after the DTIM beacon as
described in 802.11.

Helmut



More information about the users mailing list