--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -671,6 +671,7 @@ struct ath_softc {
+@@ -694,6 +694,7 @@ struct ath_softc {
struct ieee80211_hw *hw;
struct device *dev;
struct survey_info *cur_survey;
struct survey_info survey[ATH9K_NUM_CHANNELS];
-@@ -743,6 +744,7 @@ struct ath_softc {
- #endif
- };
+@@ -898,6 +899,7 @@ struct fft_sample_ht20 {
+ u8 data[SPECTRAL_HT20_NUM_BINS];
+ } __packed;
+int ath9k_config(struct ieee80211_hw *hw, u32 changed);
void ath9k_tasklet(unsigned long data);
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
-@@ -1764,6 +1764,50 @@ static const struct file_operations fops
+@@ -2059,6 +2059,50 @@ static const struct file_operations fops
.owner = THIS_MODULE
};
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
-@@ -1783,6 +1827,8 @@ int ath9k_init_debug(struct ath_hw *ah)
+@@ -2078,6 +2122,8 @@ int ath9k_init_debug(struct ath_hw *ah)
debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc,
&fops_eeprom);
debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, sc,
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1068,7 +1068,7 @@ static void ath9k_disable_ps(struct ath_
- ath_dbg(common, PS, "PowerSave disabled\n");
+@@ -1140,7 +1140,7 @@ int ath9k_spectral_scan_config(struct ie
+ return 0;
}
-static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
{
struct ath_softc *sc = hw->priv;
struct ath_hw *ah = sc->sc_ah;
-@@ -1122,9 +1122,11 @@ static int ath9k_config(struct ieee80211
-
- if ((changed & IEEE80211_CONF_CHANGE_CHANNEL) || reset_channel) {
- struct ieee80211_channel *curchan = hw->conf.channel;
+@@ -1196,9 +1196,11 @@ static int ath9k_config(struct ieee80211
+ struct ieee80211_channel *curchan = hw->conf.chandef.chan;
+ enum nl80211_channel_type channel_type =
+ cfg80211_get_chandef_type(&conf->chandef);
+ struct ath9k_channel *hchan;
int pos = curchan->hw_value;
int old_pos = -1;
if (ah->curchan)
old_pos = ah->curchan - &ah->channels[0];
-@@ -1167,7 +1169,23 @@ static int ath9k_config(struct ieee80211
+@@ -1241,7 +1243,23 @@ static int ath9k_config(struct ieee80211
memset(&sc->survey[pos], 0, sizeof(struct survey_info));
}