Prechádzať zdrojové kódy

ath5k: disable irq handling in ath5k_hw_detach()

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>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Roskin 17 rokov pred
rodič
commit
f50e4a8494
1 zmenil súbory, kde vykonal 2 pridanie a 0 odobranie
  1. 2 0
      drivers/net/wireless/ath5k/hw.c

+ 2 - 0
drivers/net/wireless/ath5k/hw.c

@@ -427,6 +427,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);