This is a note to let you know that I've just added the patch titled
ath9k: fix aphy / wiphy idle mismatch
to the 2.6.36-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ath9k-fix-aphy-wiphy-idle-mismatch.patch
and it can be found in the queue-2.6.36 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From afe68d0a8f5961652e26cea39d74e2cc820de841 Mon Sep 17 00:00:00 2001
From: Luis R. Rodriguez <[email protected]>
Date: Mon, 20 Dec 2010 11:29:59 -0500
Subject: ath9k: fix aphy / wiphy idle mismatch
From: Luis R. Rodriguez <[email protected]>
commit afe68d0a8f5961652e26cea39d74e2cc820de841 upstream.
ath9k supports its own set of virtual wiphys, and it uses
the mac80211 idle notifications to know when a device needs
to be idle or not. We recently changed ath9k to force idle
on driver stop() and on resume but forgot to take into account
ath9k's own virtual wiphy idle states. These are used internally
by ath9k to check if the device's radio should be powered down
on each idle call. Without this change its possible that the
device could have been forced off but the virtual wiphy idle
was left on.
Cc: Paul Stewart <[email protected]>
Cc: Amod Bodas <[email protected]>
Signed-off-by: Luis R. Rodriguez <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/net/wireless/ath/ath9k/main.c | 1 +
drivers/net/wireless/ath/ath9k/pci.c | 1 +
2 files changed, 2 insertions(+)
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1370,6 +1370,7 @@ static void ath9k_stop(struct ieee80211_
ath9k_ps_restore(sc);
sc->ps_idle = true;
+ ath9k_set_wiphy_idle(aphy, true);
ath_radio_disable(sc, hw);
sc->sc_flags |= SC_OP_INVALID;
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -291,6 +291,7 @@ static int ath_pci_resume(struct pci_dev
ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 1);
sc->ps_idle = true;
+ ath9k_set_wiphy_idle(aphy, true);
ath_radio_disable(sc, hw);
return 0;
Patches currently in stable-queue which might be from [email protected] are
queue-2.6.36/ath9k-move-the-pcu-lock-to-the-sc-structure.patch
queue-2.6.36/ath9k-fix-assumptions-for-idle-calls-on-suspend-resume.patch
queue-2.6.36/ath9k_hw-disabled-paprd-for-ar9003.patch
queue-2.6.36/ath9k-simplify-hw-reset-locking.patch
queue-2.6.36/ath9k-fix-aphy-wiphy-idle-mismatch.patch
_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable