ath9k: add stability fixes for long standing hang issues (FS#13, #34, #373, #383)
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 512-ath9k_channelbw_debugfs.patch
index e8a92c483e0fb3d847c83ed0e141cb903236598f..d6eb5f1d242ede5b3b95a79906e6047d223f753e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/debug.c
 +++ b/drivers/net/wireless/ath/ath9k/debug.c
-@@ -1361,6 +1361,52 @@ static const struct file_operations fops
+@@ -1363,6 +1363,52 @@ 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);
-@@ -1382,6 +1428,8 @@ int ath9k_init_debug(struct ath_hw *ah)
+@@ -1384,6 +1430,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("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
 +                          sc, &fops_chanbw);
-       debugfs_create_file("dma", S_IRUSR, sc->debug.debugfs_phy, sc,
-                           &fops_dma);
-       debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, sc,
+       debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy,
+                                   read_file_dma);
+       debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy,
 --- a/drivers/net/wireless/ath/ath.h
 +++ b/drivers/net/wireless/ath/ath.h
-@@ -142,6 +142,7 @@ struct ath_common {
+@@ -151,6 +151,7 @@ struct ath_common {
        int debug_mask;
        enum ath_device_state state;
        unsigned long op_flags;
@@ -90,7 +90,7 @@
        ichan->channel = chan->center_freq;
        ichan->chan = chan;
 @@ -308,7 +310,19 @@ static void ath9k_cmn_update_ichannel(st
-       if (chan->band == IEEE80211_BAND_5GHZ)
+       if (chan->band == NL80211_BAND_5GHZ)
                flags |= CHANNEL_5GHZ;
  
 -      switch (chandef->width) {