Think I found it:  In ath_reset_internal, before we reset, we call
ath_prepare_reset, which calls ath9k_hw_disable_interrupts.  If the
channel change fails, we never call ath_complete_reset, which calls
ath9k_hw_enable_interrupts.

ath9k_hw_{enable|disable}_interrupts calls definitely needs to be
balanced.  Looking at an old log, IER never gets re-enabled after the
channel set failure.

Any suggestions on the proper cleanup?  Could we just call
ath_complete_reset anyway?  Some sort of special handling?

On Tue, Mar 26, 2013 at 8:55 PM, Robert Shade <robert.sh...@gmail.com> wrote:
> On Tue, Mar 26, 2013 at 1:13 PM, Ben Greear <gree...@candelatech.com> wrote:
>> Can you cat out the /debug/ieee80211/wiphy0/ath9k/xmit
>> file when it gets in this hung state?  I saw issues where
>> the xmit queues got hung in our AR9380 NIC systems and
>> ended up adding an ugly bit of cleanup/reset logic to
>> get them working again...
>
> Dumps are attached on to the bug.  I remember being hopeful when
> reading your thread that we stumbled on the same issue, but the
> symptoms don't look the same to me because pending-frames goes back to
> 0 in my case.
_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to