summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ahb.c
diff options
context:
space:
mode:
authorSujith2010-01-14 05:50:57 +0100
committerJohn W. Linville2010-01-15 00:16:55 +0100
commit5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0 (patch)
tree1954c51af0ae909ed2bf586e8e5bc5e69aaddec3 /drivers/net/wireless/ath/ath9k/ahb.c
parentRemove config option B43_LEGACY_RFKILL completely (diff)
downloadkernel-qcow2-linux-5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0.tar.gz
kernel-qcow2-linux-5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0.tar.xz
kernel-qcow2-linux-5e4ea1f0ed256382d6d839fbd7a5c7f1b99b6cb0.zip
ath9k: Fix panic on driver load
The device has to be marked as invalid before registering the ISR. HW initialization takes place after the ISR has been registered, and the invalid flag is eventually cleared in the ->stop() callback. Reported-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ahb.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/ahb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ahb.c b/drivers/net/wireless/ath/ath9k/ahb.c
index f24b1f4c3e29..9e62a569e816 100644
--- a/drivers/net/wireless/ath/ath9k/ahb.c
+++ b/drivers/net/wireless/ath/ath9k/ahb.c
@@ -121,6 +121,9 @@ static int ath_ahb_probe(struct platform_device *pdev)
sc->mem = mem;
sc->irq = irq;
+ /* Will be cleared in ath9k_start() */
+ sc->sc_flags |= SC_OP_INVALID;
+
ret = request_irq(irq, ath_isr, IRQF_SHARED, "ath9k", sc);
if (ret) {
dev_err(&pdev->dev, "request_irq failed\n");