[rt2x00-users] rt2x00: status update regarding txdone handling

Helmut Schaa helmut.schaa at googlemail.com
Sat Jul 31 09:28:35 AEST 2010


Am Freitag 30 Juli 2010 schrieb Ivo Van Doorn:
> On Fri, Jul 30, 2010 at 12:43 PM, Helmut Schaa
> <helmut.schaa at googlemail.com> wrote:
> > Am Donnerstag 29 Juli 2010 schrieb Ivo Van Doorn:
> >> On Thu, Jul 29, 2010 at 6:30 PM, Helmut Schaa
> >> <helmut.schaa at googlemail.com> wrote:
> >> > Am Donnerstag 29 Juli 2010 schrieb Ivo Van Doorn:
> >> >> Hi,
> >> >>
> >> >> > I'm still fighting with the txdone handling in rt2800pci. Sometimes the tx
> >> >> > queues get stuck. It took me a few days but it seems as if the TX_STA_FIFO
> >> >> > register limitation to hold max 16 entries is causing this problem.
> >> >>
> >> >> Weird, for rt2800usb this doesn't seem to be the problem. The queue locks
> >> >> up even when I continuously read the TX_STA_FIFO register.
> >> >
> >> > Maybe I should add that this behaviour only happens when running iperf
> >> > from the SoC board to an associated client. And the host CPU utilization
> >> > is near to 100%.
> >>
> >> Ah ok, well I haven't managed to get iperf working on my system yet,
> >> so I can't test that. But since the queue locks up regardless of CPU and
> >> TX_STA_FIFO status, it might be a different problem (perhaps even for SoC).
> >
> > Hmm, yeah. If you look at the queue state in debugfs is the number of available
> > entries smaller than the thershold and thus the queues are stopped? At least
> > that's the case I observe here (because not all frames get their appropriate tx
> > status).
> 
> But that means the problem can be solved by rekicking the queue
> once you read the TX_STA_FIFO register.

Yes, that's what I've tried but after reading TX_STA_FIFO you don't know if the frames
in the tx queue are stll waiting to be transmitted of if the tx status is lost.

Helmut




More information about the users mailing list