[rt2x00-users] rt2800usb stops working with big file transfers in AP and IBSS
helmut.schaa at googlemail.com
Sat Mar 19 05:05:31 EST 2011
Am Freitag, 18. März 2011 schrieb Johannes Stezenbach:
> On Fri, Mar 18, 2011 at 04:23:15PM +0100, Juan Carlos Garza wrote:
> > I applied the patches (manually), and tested the stick.
> > The transfer of big loads now is successful. The
> > "rt2800_txdone_entry_check:" warnings are still there, but they are
> > less frequent (just like in the example i gave you with the laptop
> > where it succeeded with the unpatched driver), some 5 warnings every
> > 1, 2 or 3 seconds.
> Thanks for testing! The occational "tx status missed" is unavoidable
> due to hardware limitations. My patches reduce the number of them,
> but more importantly they fix a few issues with TX (status) timeout handling.
> (IIRC false positives in TX timeout check, and fluash would wait for
> TX queue empty which would never happen without the timer to reap
> the status queue.)
> I tested a lot with these patches and they work stable for me, however I
> must admit I'm not sure why they help in your case (i.e. why does
> bulk transfer stall without these patches?).
Just an assumption: In rt2800pci I had the problem that the tx status register
sometimes suffered from overflows. And I was able to avoid the overflow by
reading the TX_STA_FIFO register fast enough (in hard irq context).
And I guess your patch also changed the timing of TX_STA_FIFO reads is
rt2800usb and thus reduces the number of overflows.
However, this is just a shot in the dark.
More information about the users