mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Senthil Balasubramanian <senthilkumar@atheros.com>
To: Steven Noonan <steven@uplinklabs.net>
Cc: Luis Rodriguez <Luis.Rodriguez@atheros.com>,
	Ingo Molnar <mingo@elte.hu>,
	"ath9k-devel@lists.ath9k.org" <ath9k-devel@venema.h4ckr.net>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [ath9k-devel] ath9k: massive unexplained latency in 2.6.27 (rc5, rc6, probably others)
Date: Fri, 19 Sep 2008 19:58:01 +0530	[thread overview]
Message-ID: <20080919142801.GA5816@senthil-lnx.users.atheros.com> (raw)
In-Reply-To: <f488382f0809190029n13b87ad1s153e5b983f301f31@mail.gmail.com>

On Fri, Sep 19, 2008 at 12:59:29PM +0530, Steven Noonan wrote:
> On Thu, Sep 18, 2008 at 8:01 PM, Luis R. Rodriguez
> <lrodriguez@atheros.com> wrote:
> > Thanks for testing, and glad to see this is resolved.
> >
> 
> Damn. It's back. I was using wireless normally this evening. Browsing
> the web, that kind of thing, and then the wireless inexplicably
> dropped (even with the group rekeying patch), so I unloaded/reloaded
> the module. This popped up in dmesg:
> 
> [ 3834.375658] vendor=8086 device=27d2
> [ 3834.375666] ath9k 0000:03:00.0: PCI INT A disabled
> [ 3834.375716] ath9k: driver unloaded
> [ 3838.552419] ath9k: 0.1
> [ 3838.552502] vendor=8086 device=27d2
> [ 3838.552511] ath9k 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> [ 3838.552532] ath9k 0000:03:00.0: setting latency timer to 64
> [ 3838.688924] phy1: Selected rate control algorithm 'ath9k_rate_control'
> [ 3838.693652] phy1: Atheros 5416: mem=0xffffc20000060000, irq=17
> [ 3839.427125] irq 17: nobody cared (try booting with the "irqpoll" option)
> [ 3839.427136] Pid: 0, comm: swapper Tainted: P
> 2.6.27-rc6-tip-00478-g74f1a36 #1
> [ 3839.427141] Call Trace:
> [ 3839.427145]  <IRQ>  [<ffffffff802219c5>] ? read_hpet+0x9/0x1c
> [ 3839.427165]  [<ffffffff8026af71>] __report_bad_irq+0x3d/0x8c
> [ 3839.427172]  [<ffffffff8026b0c6>] note_interrupt+0x106/0x160
> [ 3839.427180]  [<ffffffff8026b801>] handle_fasteoi_irq+0xad/0xda
> [ 3839.427188]  [<ffffffff8020f7b0>] do_IRQ+0x10c/0x190
> [ 3839.427194]  [<ffffffff8020c551>] ret_from_intr+0x0/0xa
> [ 3839.427198]  <EOI>  [<ffffffff8026c6f0>] rcu_pending+0x62/0x6e
> [ 3839.427211]  [<ffffffff8025bc11>] ? tick_nohz_stop_sched_tick+0x2e4/0x2f3
> [ 3839.427218]  [<ffffffff8020ad94>] cpu_idle+0x7b/0xdb
> [ 3839.427226]  [<ffffffff8060c921>] rest_init+0x75/0x77
> [ 3839.427231] handlers:
> [ 3839.427234] [<ffffffffa0240238>] (ath_isr+0x0/0x170 [ath9k])
> [ 3839.427263] Disabling IRQ #17
> [ 3842.263699] ADDRCONF(NETDEV_UP): wlan0: link is not ready
> [ 3848.035003] ADDRCONF(NETDEV_UP): wlan0: link is not ready
> [ 3848.432701] ADDRCONF(NETDEV_UP): wlan0: link is not ready
> [ 3850.216947] wlan0: authenticate with AP 00:1e:52:79:4d:01
> [ 3850.217027] wlan0: authenticate with AP 00:1e:52:79:4d:01
> [ 3850.228326] wlan0: authenticated
> [ 3850.228336] wlan0: associate with AP 00:1e:52:79:4d:01
> [ 3850.428140] wlan0: associate with AP 00:1e:52:79:4d:01
> [ 3850.628151] wlan0: associate with AP 00:1e:52:79:4d:01
> [ 3850.728305] wlan0: RX AssocResp from 00:1e:52:79:4d:01 (capab=0x431
> status=0 aid=1)
> [ 3850.728314] wlan0: associated
> [ 3850.728655] wlan0 (WE) : Wireless Event too big (320)
> [ 3850.743377] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
> [ 3860.855104] wlan0: no IPv6 routers present
> 
> I rebuilt the module with DBG_ATH_INTERRUPT, but it somehow stumbled
> itself back into working order while I was compiling. I can't keep the
> interrupt debugging on all the time because it's just -too verbose-,
> and when I pop a debug version of the module in, then it's too late to
> track the issue....

I am able to reproduce this IRQ nobody cared issue in my setup and the
following patch seems to be fixing the issue. Please try it out and let
me know if it solves your issue in your setup.

**********
IRQs should be disabled before calling free_irq. Also clear pending IRQs.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
---
 drivers/net/wireless/ath9k/core.c |    2 ++
 drivers/net/wireless/ath9k/main.c |    8 +++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath9k/core.c b/drivers/net/wireless/ath9k/core.c
index c262ef2..c007dd2 100644
--- a/drivers/net/wireless/ath9k/core.c
+++ b/drivers/net/wireless/ath9k/core.c
@@ -1183,6 +1183,8 @@ void ath_deinit(struct ath_softc *sc)
 
 	DPRINTF(sc, ATH_DBG_CONFIG, "%s\n", __func__);
 
+	tasklet_kill(&sc->intr_tq);
+	tasklet_kill(&sc->bcon_tasklet);
 	ath_stop(sc);
 	if (!(sc->sc_flags & SC_OP_INVALID))
 		ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index aca893a..559e0e8 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -1781,10 +1781,16 @@ static void ath_pci_remove(struct pci_dev *pdev)
 {
 	struct ieee80211_hw *hw = pci_get_drvdata(pdev);
 	struct ath_softc *sc = hw->priv;
+	enum ath9k_int status;
 
-	if (pdev->irq)
+	if (pdev->irq) {
+		ath9k_hw_set_interrupts(sc->sc_ah, 0);
+		ath9k_hw_getisr(sc->sc_ah, &status);	/* NB: clears ISR too */
+		sc->sc_flags |= SC_OP_INVALID;
 		free_irq(pdev->irq, sc);
+	}
 	ath_detach(sc);
+
 	pci_iounmap(pdev, sc->mem);
 	pci_release_region(pdev, 0);
 	pci_disable_device(pdev);
-- 
1.5.5


  parent reply	other threads:[~2008-09-19 14:28 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-18 18:23 Steven Noonan
2008-09-18 18:34 ` [ath9k-devel] " Luis R. Rodriguez
2008-09-18 18:42   ` Luis R. Rodriguez
2008-09-18 19:00     ` Steven Noonan
2008-09-18 19:23       ` Steven Noonan
2008-09-18 20:18         ` Justin Mattock
2008-09-18 20:25           ` Steven Noonan
2008-09-18 20:44       ` Luis R. Rodriguez
2008-09-18 21:31         ` Justin Mattock
2008-09-18 21:49         ` Steven Noonan
2008-09-18 22:01           ` Luis R. Rodriguez
2008-09-18 22:08             ` Luis R. Rodriguez
2008-09-18 23:04               ` Steven Noonan
2008-09-18 23:10                 ` Luis R. Rodriguez
2008-09-18 23:16                   ` Johannes Berg
2008-09-19  2:52                   ` Steven Noonan
2008-09-19  3:01                     ` Luis R. Rodriguez
2008-09-19  7:29                       ` Steven Noonan
2008-09-19  8:17                         ` Ingo Molnar
2008-09-19  8:22                           ` Steven Noonan
2008-09-19  8:32                             ` Ingo Molnar
2008-09-27  1:23                               ` Steven Rostedt
2008-09-27 19:20                                 ` Ingo Molnar
2008-09-27 19:28                                   ` Steven Rostedt
2008-09-19  8:45                             ` Steven Noonan
2008-09-19  8:51                               ` Ingo Molnar
2008-09-19  8:22                         ` Steven Noonan
2008-09-19 14:28                         ` Senthil Balasubramanian [this message]
2008-09-19 16:42                           ` Steven Noonan
2008-09-19 17:58                             ` Senthil Balasubramanian
2008-09-19 18:23                               ` Luis R. Rodriguez
2008-09-19 23:31                                 ` Steven Noonan
2008-09-19 23:53                                   ` Luis R. Rodriguez
2008-09-20  0:01                                     ` Steven Noonan
2008-09-20  1:13                                       ` Luis R. Rodriguez
2008-09-20  1:15                                         ` Luis R. Rodriguez
2008-09-20  3:29                                         ` Steven Noonan
2008-09-20  3:40                                           ` Steven Noonan
2008-09-20 20:56                                             ` Luis R. Rodriguez
2008-09-20 15:21                                           ` Steven Noonan
2008-09-20 20:57                                             ` Luis R. Rodriguez
2008-09-20 20:58                                               ` Johannes Berg
2008-09-20 21:03                                                 ` Luis R. Rodriguez
2008-09-20 21:22                                                   ` Steven Noonan
2008-09-20 21:26                                                     ` Luis R. Rodriguez
2008-09-20 21:48                                                       ` Steven Noonan
2008-09-21  1:48                                                         ` Steven Noonan
2008-09-22  6:54                                                           ` Luis R. Rodriguez
2008-09-22  7:14                                                             ` Luis R. Rodriguez
2008-09-22  7:26                                                             ` Steven Noonan
2008-09-22  8:06                                                               ` Luis R. Rodriguez
2008-09-22 15:11                                                                 ` Steven Noonan
2008-09-22 16:01                                                                   ` Luis R. Rodriguez
2008-09-23  7:22                                                                     ` Steven Noonan
2008-09-23  7:55                                                                       ` Steven Noonan
2008-09-23 16:20                                                                         ` Steven Noonan
2008-09-23 19:22                                                                       ` Luis R. Rodriguez
2008-09-20 21:18                                               ` Steven Noonan
2008-09-20 21:24                                                 ` Luis R. Rodriguez
2008-09-18 23:08             ` Steven Noonan
2008-09-18 23:12               ` Luis R. Rodriguez
     [not found] <fa.jQQm4Iwb0lkAWxV+5FAfTMHY4m4@ifi.uio.no>
     [not found] ` <fa.zGA6t2p+jJeMRIaZFOqy1I8En1c@ifi.uio.no>
     [not found]   ` <fa.AGi3s2gpyC3T3KuCJ8cYQ30teak@ifi.uio.no>
     [not found]     ` <fa.59AlSLNBuMx/BjQSvR6whwGydbU@ifi.uio.no>
     [not found]       ` <fa.NwYDTAB59VZjr1quzgR4OU0+8eQ@ifi.uio.no>
     [not found]         ` <fa.tRre/FoeQKwChGwdusnYJgwjRmw@ifi.uio.no>
2008-09-19 14:46           ` Robert Hancock
2008-09-19 16:27             ` Steven Noonan

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=20080919142801.GA5816@senthil-lnx.users.atheros.com \
    --to=senthilkumar@atheros.com \
    --cc=Luis.Rodriguez@atheros.com \
    --cc=ath9k-devel@venema.h4ckr.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=steven@uplinklabs.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®