Browse Source

ath9k: IRQ should be disabled before calling free_irq()

ath9k frees irq even before IRQs are disabled and existing IRQs
are flushed when rfkill_register() fails.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Senthil Balasubramanian 16 years ago
parent
commit
306efdd109
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/wireless/ath9k/main.c

+ 1 - 1
drivers/net/wireless/ath9k/main.c

@@ -810,9 +810,9 @@ static int ath_start_rfkill_poll(struct ath_softc *sc)
 			rfkill_free(sc->rf_kill.rfkill);
 
 			/* Deinitialize the device */
+			ath_detach(sc);
 			if (sc->pdev->irq)
 				free_irq(sc->pdev->irq, sc);
-			ath_detach(sc);
 			pci_iounmap(sc->pdev, sc->mem);
 			pci_release_region(sc->pdev, 0);
 			pci_disable_device(sc->pdev);