Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Mar 2015 05:15:31 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-wireless@FreeBSD.org
Subject:   [Bug 198298] [ath] ath_edma_rxbuf_alloc()/ath_edma_rxfifo_alloc() causes system lockup when RX buffers are exausted
Message-ID:  <bug-198298-21060-D2HcIw7t5m@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-198298-21060@https.bugs.freebsd.org/bugzilla/>
References:  <bug-198298-21060@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198298

--- Comment #2 from Adrian Chadd <adrian@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-198298-21060-D2HcIw7t5m>