ath9k: fix sleep mode handling issues, should improve client mode reliability (backpo...
[openwrt-10.03/.git] / package / mac80211 / patches / 513-ath9k_channelbw_debugfs.patch
index c5ca0e2b5776372adf1122008628a887e3cdb0ec..523b380cefa6def7ee5a019fb5a5dff6cf8b9b1d 100644 (file)
  {
        struct ath_softc *sc = hw->priv;
        struct ath_hw *ah = sc->sc_ah;
-@@ -1616,9 +1616,10 @@ static int ath9k_config(struct ieee80211
+@@ -1623,9 +1623,11 @@ static int ath9k_config(struct ieee80211
  
-       if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
+       if ((changed & IEEE80211_CONF_CHANGE_CHANNEL) || reset_channel) {
                struct ieee80211_channel *curchan = hw->conf.channel;
--              struct ath9k_channel old_chan;
-+              struct ath9k_channel old_chan, *hchan;
++              struct ath9k_channel *hchan;
                int pos = curchan->hw_value;
                int old_pos = -1;
-+              u32 oldflags;
                unsigned long flags;
++              u32 oldflags;
  
                if (ah->curchan)
-@@ -1671,7 +1672,23 @@ static int ath9k_config(struct ieee80211
+                       old_pos = ah->curchan - &ah->channels[0];
+@@ -1674,7 +1676,23 @@ static int ath9k_config(struct ieee80211
                        memset(&sc->survey[pos], 0, sizeof(struct survey_info));
                }