summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/ath9k.h
diff options
context:
space:
mode:
authorJouni Malinen2009-03-03 18:23:37 +0100
committerJohn W. Linville2009-03-05 20:39:47 +0100
commit7ec3e514d9361596cbd8aa71ce41d6e5b0220103 (patch)
tree55c4fbc57230fe5d237a31c17dc01ed5ee65cead /drivers/net/wireless/ath9k/ath9k.h
parentath9k: Check virtual wiphy state on tx() (diff)
downloadkernel-qcow2-linux-7ec3e514d9361596cbd8aa71ce41d6e5b0220103.tar.gz
kernel-qcow2-linux-7ec3e514d9361596cbd8aa71ce41d6e5b0220103.tar.xz
kernel-qcow2-linux-7ec3e514d9361596cbd8aa71ce41d6e5b0220103.zip
ath9k: Add workaround to recover from failed channel changes
It looks like channel change may fail in some cases and end up leaving the hardware in state where it cannot transmit any frames. Add a workaround to recover from this state if we detect that wiphy selection is failing due to wiphys not leaving PAUSING state. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/ath9k.h')
-rw-r--r--drivers/net/wireless/ath9k/ath9k.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h
index 24373d395e49..4fc054e4354f 100644
--- a/drivers/net/wireless/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath9k/ath9k.h
@@ -567,6 +567,8 @@ struct ath_softc {
int chan_is_ht;
struct ath_wiphy *next_wiphy;
struct work_struct chan_work;
+ int wiphy_select_failures;
+ unsigned long wiphy_select_first_fail;
struct tasklet_struct intr_tq;
struct tasklet_struct bcon_tasklet;
@@ -665,6 +667,8 @@ void ath9k_update_ichannel(struct ath_softc *sc, struct ieee80211_hw *hw,
void ath_update_chainmask(struct ath_softc *sc, int is_ht);
int ath_set_channel(struct ath_softc *sc, struct ieee80211_hw *hw,
struct ath9k_channel *hchan);
+void ath_radio_enable(struct ath_softc *sc);
+void ath_radio_disable(struct ath_softc *sc);
#ifdef CONFIG_PCI
int ath_pci_init(void);