mac80211: update to 2012-09-07, adds ath9k beacon fixes, mesh/adhoc fixes, and more
[openwrt.git] / package / mac80211 / patches / 512-ath9k_channelbw_debugfs.patch
index 348ab21..d4087a0 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -620,6 +620,7 @@ struct ath_softc {
+@@ -659,6 +659,7 @@ struct ath_softc {
        struct ieee80211_hw *hw;
        struct device *dev;
  
@@ -8,8 +8,8 @@
        struct survey_info *cur_survey;
        struct survey_info survey[ATH9K_NUM_CHANNELS];
  
-@@ -687,6 +688,7 @@ struct ath_softc {
-       struct dfs_pattern_detector *dfs_detector;
+@@ -734,6 +735,7 @@ struct ath_softc {
+ #endif
  };
  
 +int ath9k_config(struct ieee80211_hw *hw, u32 changed);
@@ -69,7 +69,7 @@
  int ath9k_init_debug(struct ath_hw *ah)
  {
        struct ath_common *common = ath9k_hw_common(ah);
-@@ -1645,5 +1689,8 @@ int ath9k_init_debug(struct ath_hw *ah)
+@@ -1653,5 +1697,8 @@ int ath9k_init_debug(struct ath_hw *ah)
        debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc,
                            &fops_eeprom);
  
@@ -80,8 +80,8 @@
  }
 --- a/drivers/net/wireless/ath/ath9k/main.c
 +++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1550,7 +1550,7 @@ static void ath9k_disable_ps(struct ath_
+@@ -1127,7 +1127,7 @@ static void ath9k_disable_ps(struct ath_
+       ath_dbg(common, PS, "PowerSave disabled\n");
  }
  
 -static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
@@ -89,7 +89,7 @@
  {
        struct ath_softc *sc = hw->priv;
        struct ath_hw *ah = sc->sc_ah;
-@@ -1601,9 +1601,11 @@ static int ath9k_config(struct ieee80211
+@@ -1181,9 +1181,11 @@ static int ath9k_config(struct ieee80211
  
        if ((changed & IEEE80211_CONF_CHANGE_CHANNEL) || reset_channel) {
                struct ieee80211_channel *curchan = hw->conf.channel;
  
                if (ah->curchan)
                        old_pos = ah->curchan - &ah->channels[0];
-@@ -1651,7 +1653,23 @@ static int ath9k_config(struct ieee80211
+@@ -1226,7 +1228,23 @@ static int ath9k_config(struct ieee80211
                        memset(&sc->survey[pos], 0, sizeof(struct survey_info));
                }
  
 +              if (ath_set_channel(sc, hw, hchan) < 0) {
                        ath_err(common, "Unable to set channel\n");
                        mutex_unlock(&sc->mutex);
-                       return -EINVAL;
+                       ath9k_ps_restore(sc);