[Bug 198298] [ath] ath_edma_rxbuf_alloc()/ath_edma_rxfifo_alloc() causes system lockup when RX buffers are exausted

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Mar 20 05:15:31 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198298

--- Comment #2 from Adrian Chadd <adrian at freebsd.org> ---
I don't know why it's locking up your system - maybe this condition is causing
an interrupt storm from ath(4) and I'm not handling it right.

The EDMA NICs try to be smart, and I'm tempted to rip out the smart bits and
replace it with not-smart bits:

* the interrupt handler pulls out completed descriptors, pushes in fresh ones,
and puts the completed descriptors into a pending queue
* .. and then schedules a taskqueue.

* Then when the RX taskqueue runs, it handles RX of each packet and returns
now-free descriptors to the hardware.

It's possible that something is making that taskqueue not run and the RX path
runs out of descriptors.

Now, as to why .. hm. I'd like to figure that out.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-wireless mailing list