[RFC/RFT] b43: A fix for DMA transmission sequence errors

Rafał Miłecki zajec5 at gmail.com
Thu Mar 14 16:17:18 EDT 2013


2013/3/14 Larry Finger <Larry.Finger at lwfinger.net>:
> From: Iestyn C. Elfick <isedev at gmail.com>
>
> Intermittently, b43 will report "Out of order TX status report on DMA ring".
> When this happens, the driver must be reset before communication can resume.
> The cause of the problem is believed to be an error in the closed-source
> firmware; however, all versions of the firmware are affected.
>
> This change uses the observation that the expected status is always 2 less
> than the observed value, and supplies a fake status report to skip one
> header/data pair.
>
> Signed-off-by: Larry Finger <Larry.Finger at lwfinger.net>
> Cc: Stable <stable at vger.kernel.org>
> ---
>
> Although this is a hack, it seems to work for the OP. It should not cause any
> ill effects on any device that does not have the problem.
>
> It does need a lot more testing, particularly on systems prone to the out-of-order
> status report problem.
>
> If anyone can think of a cleaner, less intrusive solution, please let us know.

I wonder if this is hardware supporting unaligned access with
full-addressing for DMA engine. Maybe it support index-based indexes
for backward compatibility only, and it's somehow broken?

Can we test full-addressing first? I'll try to prepare a patch for
this during the weekend.

-- 
Rafał



More information about the b43-dev mailing list