Michael Buesch wrote:
> On Friday 24 July 2009 16:48:49 Larry Finger wrote:
>> Francesco,
>>
>> Sorry, but I missed a warning about DMA queue overflow that was being
>> logged as follows:
>
> Can you printk the value of free_slots(), when this happens?
I have a printk in place, but that warning has not happened again.
I made the following changes:
(1) I put guard words around meta in struct b43_dma_ring, and around
the skb in struct b43_dmadesc_meta. These were checked in
b43_dma_handle_txstatus() and were OK. Whatever is setting meta->skb
to NULL is specific in writing that location.
(2) I replaced the BUG_ON when meta->skb is NULL with printk
statements that dump elements of the ring and meta structs. At least I
get a chance to interrogate the internal data. Furthermore, I can get
the wireless back by unloading and reloading b43 without rebooting.
The dumped values are as follows:
b43: meta data: skb (null)
dmaaddr 00000000986d50bc
is_last_fragment 1
b43: ring data: nr_slots 256
used_slots 45
current_slot 65
index 1
tx 1
max_used_slots 256
Unfortunately, all of these look reasonable - no smoking guns.
Any suggestions on other values to dump?
Larry
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev