b43 error under heavy load

Larry Finger Larry.Finger at lwfinger.net
Tue May 10 14:34:34 EDT 2011


On 05/10/2011 12:08 AM, Rafał Miłecki wrote:
> 2010/11/22 Larry Finger<Larry.Finger at lwfinger.net>:
>> On 11/22/2010 12:53 PM, Michael Büsch wrote:
>>> On Mon, 2010-11-22 at 12:41 -0600, Larry Finger wrote:
>>>> Under heavy load with multiple streams, I'm getting errors from my BCM4312
>>>> (14e4:4315) device as follows:
>>>>
>>>> b43-phy0 debug: TX-status contains invalid cookie: 0x0D4D
>>>> b43-phy0 debug: Out of order TX status report on DMA ring 1. Expected 74, but got 76
>>>> b43-phy0 debug: Out of order TX status report on DMA ring 1. Expected 74, but got 78
>>>> (and continues).
>>>>
>>>> Clearly that cookie is garbage as it has a slot number of 0. Any suggestions on
>>>> diagnostic information that I could dump to help debug this?
>>>
>>> I think that probably is a firmware or hardware bug. The affected
>>> kernel code was not changed in years, as far as I know.
>>
>> Thanks. I'll see if I can figure out a way for the driver to recover more
>> gracefully. In the meantime, I will be dumping the entire TX status struct to
>> see if that helps in seeing what is wrong.
>
> Larry, did you try debugging this? Juan noticed this issue on his
> 14e4:4315 as well.
> [  854.826369] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 54
> [  854.827348] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 56
> [  854.828080] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 58
> [  854.831431] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 60
> [  854.831453] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 62
> [  854.832440] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 64
> [  854.833836] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 66
> [  854.834567] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 68
> [  854.834588] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 70
> [  854.835378] b43-phy0 debug: Out of order TX status report on DMA
> ring 1. Expected 74, but got 72
>
> Connection is lost, reloading of the driver is needer.

I have not gotten any further with this problem, but I just noticed a curious 
"coincidence". The expected status number was 74 in both cases. I do not think 
there is anything special about that particular slot. After all, there are 256 
TX ring slots. As the comment says at line 1407 of dma.c, there might be a 
firmware error. If so, it is common to several versions as I have seen it on a 
BCM4318.

Larry



More information about the b43-dev mailing list