All of lore.kernel.org
 help / color / mirror / Atom feed
From: Clemens Buchacher <drizzd@aon.at>
To: Adrian Chadd <adrian@freebsd.org>
Cc: Mohammed Shafi <shafi.wireless@gmail.com>,
	linux-wireless@vger.kernel.org
Subject: Re: ath9k: irq storm after suspend/resume
Date: Wed, 5 Oct 2011 08:28:43 +0200	[thread overview]
Message-ID: <20111005062528.GA1403@ecki> (raw)
In-Reply-To: <CAJ-Vmo=5z6EEZBtb2_7e6wvU39ZvLSmAxEPKwP_MDQCzdkPGyA@mail.gmail.com>

On Wed, Oct 05, 2011 at 05:11:00AM +0800, Adrian Chadd wrote:
> 
> Well, the question now is whether the device itself is actually firing
> off interrupts.
> 
> From what you've shown there, the device _isn't_ firing off interrupts
> the normal way.
> So I wonder if it's the card or whether it's something else (eg the
> PCI bus glue.)
> 
> Here, you could try inserting this in the SC_OP_INVALID bit, right
> after you do some logging. I'm still assuming your AR9285 is somehow
> firing off interrupts.
> At this point however I'm all just guessing here. It'd be nice to know
> whether the device is _really_ sending interrupts or not.

No change with the code below, except that the timing is slightly
different.

> /* Mark _all_ async interrupts as serviced */
> REG_WRITE(ah, AR_INTR_ASYNC_CAUSE, 0xffffffff);
> REG_READ(ah, AR_INTR_ASYNC_CAUSE);
> 
> /* Disable sync interrupt sources */
> REG_WRITE(ah, AR_INTR_SYNC_ENABLE, 0);
> /* Mark _all_ sync interrupts as serviced */
> REG_WRITE(ah, AR_INTR_SYNC_CAUSE, 0xffffffff);
> REG_READ(ah, AR_INTR_SYNC_CAUSE);
> 
> /* Do a reset of the AHB and host interface */
> REG_WRITE(ah, AR_RC, AR_RC_AHB | AR_RC_HOSTIF);
> DELAY(100);

Since I could not find a suitable DELAY macro, I used this instead:

 int delay = 100;
 DO_DELAY(delay);

> REG_WRITE(ah, AR_RC, 0);

For the record, instead of going to full sleep, I can reproduce the
issue with

 echo devices >/sys/power/pm_test
 echo mem >/sys/power/state

but not with

 echo freezer >/sys/power/pm_test
 echo mem >/sys/power/state

So it could still be a different device that's causing the issue? I
can try unloading all kinds of modules. Or is there an option to
suspend just one device?

Clemens

  reply	other threads:[~2011-10-05  6:28 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
2011-10-04 18:15                             ` Clemens Buchacher
2011-10-04 21:11                               ` Adrian Chadd
2011-10-05  6:28                                 ` Clemens Buchacher [this message]
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=20111005062528.GA1403@ecki \
    --to=drizzd@aon.at \
    --cc=adrian@freebsd.org \
    --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.