linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ath9k: reset after PCI FATAL/PERR interrupts
@ 2009-04-12  9:57 Steven Luo
  2009-04-13 16:21 ` Sujith
  0 siblings, 1 reply; 2+ messages in thread
From: Steven Luo @ 2009-04-12  9:57 UTC (permalink / raw)
  To: John W. Linville
  Cc: Luis R. Rodriguez, Jouni Malinen, Sujith Manoharan,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless, ath9k-devel

From: Steven Luo <steven@steven676.net>

ath9k_hw_getisr() doesn't appear to set anything in the status mask for
PCI FATAL or PERR interrupts (AR_INTR_SYNC_HOST1_FATAL/PERR), which
the open-source HAL seems to do.  This means that the card isn't reset
after these interrupts.

This patch seems to fix a problem where the wireless drops out with an
"ath9k: received PCI FATAL interrupt" in dmesg after some time; the
hardware is an AR5416 in an ASUS WL-500W running 2.6.28.7 (OpenWRT) and
compat-wireless 2009-03-31.

Signed-off-by: Steven Luo <steven@steven676.net>
---

--- a/drivers/net/wireless/ath9k/hw.c	2009-04-09 23:23:35.000000000 -0700
+++ b/drivers/net/wireless/ath9k/hw.c	2009-04-11 23:29:28.000000000 -0700
@@ -3007,6 +3007,7 @@ bool ath9k_hw_getisr(struct ath_hw *ah, 
 				DPRINTF(ah->ah_sc, ATH_DBG_ANY,
 					"received PCI PERR interrupt\n");
 			}
+			*masked |= ATH9K_INT_FATAL;
 		}
 		if (sync_cause & AR_INTR_SYNC_RADM_CPL_TIMEOUT) {
 			DPRINTF(ah->ah_sc, ATH_DBG_INTERRUPT,


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH] ath9k: reset after PCI FATAL/PERR interrupts
  2009-04-12  9:57 [PATCH] ath9k: reset after PCI FATAL/PERR interrupts Steven Luo
@ 2009-04-13 16:21 ` Sujith
  0 siblings, 0 replies; 2+ messages in thread
From: Sujith @ 2009-04-13 16:21 UTC (permalink / raw)
  To: Steven Luo
  Cc: John W. Linville, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless, ath9k-devel

Steven Luo wrote:
> ath9k_hw_getisr() doesn't appear to set anything in the status mask for
> PCI FATAL or PERR interrupts (AR_INTR_SYNC_HOST1_FATAL/PERR), which
> the open-source HAL seems to do.  This means that the card isn't reset
> after these interrupts.
> 
> This patch seems to fix a problem where the wireless drops out with an
> "ath9k: received PCI FATAL interrupt" in dmesg after some time; the
> hardware is an AR5416 in an ASUS WL-500W running 2.6.28.7 (OpenWRT) and
> compat-wireless 2009-03-31.
> 
> Signed-off-by: Steven Luo <steven@steven676.net>
> ---
> 
> --- a/drivers/net/wireless/ath9k/hw.c	2009-04-09 23:23:35.000000000 -0700
> +++ b/drivers/net/wireless/ath9k/hw.c	2009-04-11 23:29:28.000000000 -0700
> @@ -3007,6 +3007,7 @@ bool ath9k_hw_getisr(struct ath_hw *ah, 
>  				DPRINTF(ah->ah_sc, ATH_DBG_ANY,
>  					"received PCI PERR interrupt\n");
>  			}
> +			*masked |= ATH9K_INT_FATAL;
>  		}
>  		if (sync_cause & AR_INTR_SYNC_RADM_CPL_TIMEOUT) {
>  			DPRINTF(ah->ah_sc, ATH_DBG_INTERRUPT,
> 

Thanks for the patch. The actual cause of the FATAL interrupt still remains unclear, though.
We'll work on this issue.

Sujith

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-04-13 16:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-12  9:57 [PATCH] ath9k: reset after PCI FATAL/PERR interrupts Steven Luo
2009-04-13 16:21 ` Sujith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).