[rt2x00-users] [PATCH 4/4] rt2x00: Implement TX status reporting for rt2800usb

Helmut Schaa helmut.schaa at googlemail.com
Fri Aug 6 12:10:53 UTC 2010


Am Freitag 06 August 2010 schrieb Ivo Van Doorn:
> On Fri, Aug 6, 2010 at 12:06 PM, Helmut Schaa
> <helmut.schaa at googlemail.com> wrote:
> > Am Samstag 31 Juli 2010 schrieb Ivo van Doorn:
> >> The TX_STA_FIFO register which is used for per-frame TX frame
> >> status reporting is also valid on rt2800usb. We can move the
> >> rt2800pci_txdone function into rt2800lib where it can also
> >> be used by rt2800usb.
> >>
> >> rt2800usb needs to overwrite the txdone work handler to
> >> a different function.
> >>
> >> Both rt2800usb as rt2800_txdone need to take into account
> >> that IO failures can occur while uploading the URB, which
> >> means that when obtaining the new entry the IO status must
> >> be checked.
> >
> > In general: _very cool_!
> >
> > One thing that comes to mind is: what happens if the scheduled work
> > runs too fast and the TX_STA_FIFO register doesn't contain the status
> > for the tx'ed frame yet? The frame will be reported once the next frame
> > is sent or the queue times out, right? So, the delay between the tx and
> > the according status might get pretty long?
> >
> > Might that lead to some confusing scenarios (for example with hostapd
> > injecting frames)?
> 
> It might lead to high ping results, and perhaps some times in hostapd which
> would complain the frame timed out. But I am not a big fan of adding a
> functionality which would poll the TX_STA_FIFO frequently.. Although we might
> extend the watchdog handler to do something like this...

Agreed, polling doesn't make sense here. And we can also improve the handling
once problems arise ;)

Just wanted to make sure you know about this possible issue.

Thanks,
Helmut



More information about the users mailing list