linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ath5k: disable irq handling in ath5k_hw_detach()
@ 2008-03-12 20:13 Pavel Roskin
  2008-03-12 21:15 ` [ath5k-devel] " Nick Kossifidis
  0 siblings, 1 reply; 2+ messages in thread
From: Pavel Roskin @ 2008-03-12 20:13 UTC (permalink / raw)
  To: ath5k-devel, linux-wireless

Once ah has been freed, it may not be accessed.  Set ATH_STAT_INVALID
bit to make the interrupt handler return IRQ_NONE without accessing ah.

This fixes oops on unload with CONFIG_DEBUG_SHIRQ enabled.

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

 drivers/net/wireless/ath5k/hw.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


diff --git a/drivers/net/wireless/ath5k/hw.c b/drivers/net/wireless/ath5k/hw.c
index 677600b..ff579a2 100644
--- a/drivers/net/wireless/ath5k/hw.c
+++ b/drivers/net/wireless/ath5k/hw.c
@@ -458,6 +458,8 @@ void ath5k_hw_detach(struct ath5k_hw *ah)
 {
 	ATH5K_TRACE(ah->ah_sc);
 
+	__set_bit(ATH_STAT_INVALID, ah->ah_sc->status);
+
 	if (ah->ah_rf_banks != NULL)
 		kfree(ah->ah_rf_banks);
 

-- 
Regards,
Pavel Roskin

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

* Re: [ath5k-devel] [PATCH] ath5k: disable irq handling in ath5k_hw_detach()
  2008-03-12 20:13 [PATCH] ath5k: disable irq handling in ath5k_hw_detach() Pavel Roskin
@ 2008-03-12 21:15 ` Nick Kossifidis
  0 siblings, 0 replies; 2+ messages in thread
From: Nick Kossifidis @ 2008-03-12 21:15 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: ath5k-devel, linux-wireless

2008/3/12, Pavel Roskin <proski@gnu.org>:
> Once ah has been freed, it may not be accessed.  Set ATH_STAT_INVALID
>  bit to make the interrupt handler return IRQ_NONE without accessing ah.
>
>  This fixes oops on unload with CONFIG_DEBUG_SHIRQ enabled.
>
>  Signed-off-by: Pavel Roskin <proski@gnu.org>
>  ---
>
>   drivers/net/wireless/ath5k/hw.c |    2 ++
>   1 files changed, 2 insertions(+), 0 deletions(-)
>
>
>  diff --git a/drivers/net/wireless/ath5k/hw.c b/drivers/net/wireless/ath5k/hw.c
>  index 677600b..ff579a2 100644
>  --- a/drivers/net/wireless/ath5k/hw.c
>  +++ b/drivers/net/wireless/ath5k/hw.c
>  @@ -458,6 +458,8 @@ void ath5k_hw_detach(struct ath5k_hw *ah)
>   {
>         ATH5K_TRACE(ah->ah_sc);
>
>  +       __set_bit(ATH_STAT_INVALID, ah->ah_sc->status);
>  +
>         if (ah->ah_rf_banks != NULL)
>                 kfree(ah->ah_rf_banks);
>
>
>
>  --
>  Regards,
>  Pavel Roskin

Acked-by: Nick Kossifidis <mickflemm@gmail.com>

-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick

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

end of thread, other threads:[~2008-03-12 21:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-12 20:13 [PATCH] ath5k: disable irq handling in ath5k_hw_detach() Pavel Roskin
2008-03-12 21:15 ` [ath5k-devel] " Nick Kossifidis

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).