From: Adrian Chadd <adrian@freebsd.org>
To: Clemens Buchacher <drizzd@aon.at>
Cc: Mohammed Shafi <shafi.wireless@gmail.com>,
linux-wireless@vger.kernel.org
Subject: Re: ath9k: irq storm after suspend/resume
Date: Tue, 4 Oct 2011 15:58:09 +0800 [thread overview]
Message-ID: <CAJ-Vmo=sE4KeOp1CKAR5v+Rzm1bm0R=ZvtMvJaE_8Sjn1dOdsw@mail.gmail.com> (raw)
In-Reply-To: <20111003084823.GA1521@ecki.lan>
Right, this looks a bit evil. ;)
On 3 October 2011 16:48, Clemens Buchacher <drizzd@aon.at> wrote:
> for 1, 2, ..., 99, 128, 256:
> AR_INTR_SYNC_CAUSE: 0x00000000, AR_INTR_ASYNC_CAUSE: 0x00000000
> AR_IMR: 0xdeadbeef, AR_ISR: 0xdeadbeef
.. that says some part of the MAC is very asleep. But no interrupt
cause bits are set. So I bet it's a shared interrupt.
> for 512:
> AR_INTR_SYNC_CAUSE: 0x00000000, AR_INTR_ASYNC_CAUSE: 0x00000000
> AR_IMR: 0x00000000, AR_ISR: 0x00000208
That looks valid, but why are you receiving an interrupt here? Is it
some other device on a shared irq? Or a non-acked interrupt?
Ie - there's no sync/async cause bits set and IMR is 0, the status
bits are no tx pkt / no rx pkt. So that looks fine. You shouldn't have
received an interrupt.
> for 1024:
> AR_INTR_SYNC_CAUSE: 0x00000000, AR_INTR_ASYNC_CAUSE: 0x00000000
> AR_IMR: 0x81800964, AR_ISR: 0x00000008
.. hm, why'd you receive an interrupt here? the ISR bits aren't set that way.
Again, I think this is another shared or non-acked interrupt coming in.
> for 2048:
> AR_INTR_SYNC_CAUSE: 0x00000000, AR_INTR_ASYNC_CAUSE: 0x00000000
> AR_IMR: 0xdeadbeef, AR_ISR: 0xdeadbeef
>
> for 2^12, 2^13, ..., 2^16
> AR_INTR_SYNC_CAUSE: 0x00020000, AR_INTR_ASYNC_CAUSE: 0x00000000
> AR_IMR: 0xdeadbeef, AR_ISR: 0xdeadbeef
>
> The last ones indeed correspond to AR_INTR_SYNC_MAC_SLEEP_ACCESS
> that you mentioned. Note that this output is interleaved with
> device initialization. So I don't know if that causes the register
> contents to become valid, or if it changes the contents.
>
> If I suspend/resume first, then load the module, then wait for 500
> ms after request_irq I get only zeroes, repeated 109 times:
>
> for 1, 2, ..., 99, 2^7, 2^8, ..., 2^16:
> AR_IMR: 0x00000000, AR_ISR: 0x00000000
> AR_INTR_SYNC_CAUSE: 0x00000000, AR_INTR_ASYNC_CAUSE: 0x00000000
Would you mind also printing the contents of AR_IER there? I wonder if
AR_IER is incorrectly being enabled.
I think this may be a shared interrupt. What else is using the same
IRQ line? What about only printing out those lines if the interrupt is
actually generated by the NIC? There's a function further down in the
isr routine which checks whether the NIC itself posted the interrupt
(it checks SYNC_CAUSE/ASYNC_CAUSE.) That should cut down the spam
quite a bit and only log the relevant entries for ath9k.
Adrian
next prev parent reply other threads:[~2011-10-04 7:58 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-27 11:32 ath9k: irq storm after suspend/resume Clemens Buchacher
2011-08-29 7:55 ` Mohammed Shafi
2011-08-29 11:53 ` Mohammed Shafi
2011-08-29 15:12 ` Mohammed Shafi
2011-08-30 6:41 ` Clemens Buchacher
2011-08-30 9:33 ` Mohammed Shafi
2011-08-30 9:41 ` Mohammed Shafi
2011-09-01 6:24 ` Clemens Buchacher
2011-09-26 9:24 ` Mohammed Shafi
2011-09-27 21:42 ` Clemens Buchacher
2011-09-29 8:18 ` Mohammed Shafi
2011-09-29 10:33 ` Adrian Chadd
2011-09-29 17:11 ` Clemens Buchacher
[not found] ` <CAD2nsn0Z2J4r4tN_fLjx5bbvz2bg6NVcQ8vppJbbNcgOF8pFew@mail.gmail.com>
[not found] ` <CAJ-VmokcM4KmzV7Rn9PA68iEiTJiPw=ffYgNFLDAHShxD0HNAg@mail.gmail.com>
2011-10-03 8:48 ` Clemens Buchacher
2011-10-04 7:58 ` Adrian Chadd [this message]
2011-10-04 18:15 ` Clemens Buchacher
2011-10-04 21:11 ` Adrian Chadd
2011-10-05 6:28 ` Clemens Buchacher
2011-10-05 13:02 ` Adrian Chadd
2011-10-12 13:10 ` Mohammed Shafi
2011-10-15 9:39 ` Clemens Buchacher
2011-10-15 10:01 ` Adrian Chadd
2011-10-18 6:44 ` Clemens Buchacher
2011-10-18 7:05 ` Adrian Chadd
2011-10-21 10:22 ` Clemens Buchacher
2011-10-21 14:10 ` Adrian Chadd
2011-10-21 14:10 ` [ath9k-devel] " Adrian Chadd
2011-10-21 19:03 ` Clemens Buchacher
2011-10-21 19:03 ` [ath9k-devel] " Clemens Buchacher
2011-10-21 20:20 ` Clemens Buchacher
2011-10-21 20:20 ` [ath9k-devel] " Clemens Buchacher
2011-10-22 0:47 ` Adrian Chadd
2011-10-22 0:47 ` [ath9k-devel] " Adrian Chadd
2011-10-22 7:22 ` Clemens Buchacher
2011-10-22 7:22 ` [ath9k-devel] " Clemens Buchacher
2011-10-22 7:29 ` Adrian Chadd
2011-10-22 7:29 ` [ath9k-devel] " Adrian Chadd
2011-10-04 18:36 ` Clemens Buchacher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAJ-Vmo=sE4KeOp1CKAR5v+Rzm1bm0R=ZvtMvJaE_8Sjn1dOdsw@mail.gmail.com' \
--to=adrian@freebsd.org \
--cc=drizzd@aon.at \
--cc=linux-wireless@vger.kernel.org \
--cc=shafi.wireless@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.