Date: Thu, 2 Feb 2012 23:09:25 -0800 From: Adrian Chadd <adrian@freebsd.org> To: lev@freebsd.org Cc: freebsd-wireless@freebsd.org Subject: Re: "ath0: device timeout" when environment is clear Message-ID: <CAJ-Vmo=4Hp7RChoTXD1GftTWDKFT6pq%2BjU=jinSgKN=OUgb8EA@mail.gmail.com> In-Reply-To: <1167992329.20120203110304@serebryakov.spb.ru> References: <743722267.20120202195757@serebryakov.spb.ru> <CAJ-Vmo=js__O2YfPuRQTH0WfaDg1oo0LmugoCV5hi6HUtksprQ@mail.gmail.com> <1292923023.20120202232810@serebryakov.spb.ru> <CAJ-VmonApDTGUU0JgFWQApktHW0Xi6Fq2dbDNkP_Hu_Q29KL9g@mail.gmail.com> <208667374.20120203002726@serebryakov.spb.ru> <CAJ-Vmo=OuBC65ie7t2LeQof4mPngrEyNPwwuJuijk0W%2BVjGCDg@mail.gmail.com> <1167992329.20120203110304@serebryakov.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I'm not really able to suggest any specific diagnosis. I'd just be debugging it and trying to figure out why exactly it's occuring. There's only two places where TX "starts" - ath_start() and ath_raw_xmit(). The watchdog timer is bumped there. The questions are: * is it being bumped but no frame is being queued (eg because aggregation is somehow hanging); * is it being bumped but not cleared correctly; * is it being bumped but the TX interrupt is being missed (which would show up as frames in the TX queue, which you would've seen in previous debugging); * is there a race condition between ath_start( )/ath_raw_xmit() and the TX completion task, which is causing it to be set whe nthere's no frames queued (due to a lack of locking there..) I'm still knee deep in work code (hi radars and DFS!) so I can't really dedicate any further time to figuring this stuff out. But there's a lot of weird and wonderful locking issues in ath and net80211. Sigh. Is this running on a multi-core/CPU box, or is it single-core? Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=4Hp7RChoTXD1GftTWDKFT6pq%2BjU=jinSgKN=OUgb8EA>