diff options
| -rw-r--r-- | package/mac80211/patches/469-ath5k_cleanup_debugfs.patch | 143 | 
1 files changed, 143 insertions, 0 deletions
| diff --git a/package/mac80211/patches/469-ath5k_cleanup_debugfs.patch b/package/mac80211/patches/469-ath5k_cleanup_debugfs.patch new file mode 100644 index 000000000..875f21f4a --- /dev/null +++ b/package/mac80211/patches/469-ath5k_cleanup_debugfs.patch @@ -0,0 +1,143 @@ +--- a/drivers/net/wireless/ath/ath5k/debug.c ++++ b/drivers/net/wireless/ath/ath5k/debug.c +@@ -888,64 +888,37 @@ static const struct file_operations fops + void + ath5k_debug_init_device(struct ath5k_softc *sc) + { ++	struct dentry *phydir; ++ + 	sc->debug.level = ath5k_debug; +  +-	sc->debug.debugfs_phydir = debugfs_create_dir("ath5k", +-				sc->hw->wiphy->debugfsdir); ++	phydir = debugfs_create_dir("ath5k", sc->hw->wiphy->debugfsdir); ++	if (!phydir) ++	    return; +  +-	sc->debug.debugfs_debug = debugfs_create_file("debug", +-				S_IWUSR | S_IRUSR, +-				sc->debug.debugfs_phydir, sc, &fops_debug); +- +-	sc->debug.debugfs_registers = debugfs_create_file("registers", S_IRUSR, +-				sc->debug.debugfs_phydir, sc, &fops_registers); +- +-	sc->debug.debugfs_beacon = debugfs_create_file("beacon", +-				S_IWUSR | S_IRUSR, +-				sc->debug.debugfs_phydir, sc, &fops_beacon); +- +-	sc->debug.debugfs_reset = debugfs_create_file("reset", S_IWUSR, +-				sc->debug.debugfs_phydir, sc, &fops_reset); +- +-	sc->debug.debugfs_antenna = debugfs_create_file("antenna", +-				S_IWUSR | S_IRUSR, +-				sc->debug.debugfs_phydir, sc, &fops_antenna); +- +-	sc->debug.debugfs_misc = debugfs_create_file("misc", +-				S_IRUSR, +-				sc->debug.debugfs_phydir, sc, &fops_misc); +- +-	sc->debug.debugfs_frameerrors = debugfs_create_file("frameerrors", +-				S_IWUSR | S_IRUSR, +-				sc->debug.debugfs_phydir, sc, +-				&fops_frameerrors); +- +-	sc->debug.debugfs_ani = debugfs_create_file("ani", +-				S_IWUSR | S_IRUSR, +-				sc->debug.debugfs_phydir, sc, +-				&fops_ani); +- +-	sc->debug.debugfs_queue = debugfs_create_file("queue", +-				S_IWUSR | S_IRUSR, +-				sc->debug.debugfs_phydir, sc, +-				&fops_queue); +-} ++	debugfs_create_file("debug", S_IWUSR | S_IRUSR, phydir, sc, ++			    &fops_debug); +  +-void +-ath5k_debug_finish_device(struct ath5k_softc *sc) +-{ +-	debugfs_remove(sc->debug.debugfs_debug); +-	debugfs_remove(sc->debug.debugfs_registers); +-	debugfs_remove(sc->debug.debugfs_beacon); +-	debugfs_remove(sc->debug.debugfs_reset); +-	debugfs_remove(sc->debug.debugfs_antenna); +-	debugfs_remove(sc->debug.debugfs_misc); +-	debugfs_remove(sc->debug.debugfs_frameerrors); +-	debugfs_remove(sc->debug.debugfs_ani); +-	debugfs_remove(sc->debug.debugfs_queue); +-	debugfs_remove(sc->debug.debugfs_phydir); +-} ++	debugfs_create_file("registers", S_IRUSR, phydir, sc, &fops_registers); ++ ++	debugfs_create_file("beacon", S_IWUSR | S_IRUSR, phydir, sc, ++			    &fops_beacon); +  ++	debugfs_create_file("reset", S_IWUSR, phydir, sc, &fops_reset); ++ ++	debugfs_create_file("antenna", S_IWUSR | S_IRUSR, phydir, sc, ++			    &fops_antenna); ++ ++	debugfs_create_file("misc", S_IRUSR, phydir, sc, &fops_misc); ++ ++	debugfs_create_file("frameerrors", S_IWUSR | S_IRUSR, phydir, sc, ++			    &fops_frameerrors); ++ ++	debugfs_create_file("ani", S_IWUSR | S_IRUSR, phydir, sc, &fops_ani); ++ ++	debugfs_create_file("queue", S_IWUSR | S_IRUSR, phydir, sc, ++			    &fops_queue); ++} +  + /* functions used in other places */ +  +--- a/drivers/net/wireless/ath/ath5k/debug.h ++++ b/drivers/net/wireless/ath/ath5k/debug.h +@@ -68,17 +68,6 @@ struct ath5k_buf; +  + struct ath5k_dbg_info { + 	unsigned int		level;		/* debug level */ +-	/* debugfs entries */ +-	struct dentry		*debugfs_phydir; +-	struct dentry		*debugfs_debug; +-	struct dentry		*debugfs_registers; +-	struct dentry		*debugfs_beacon; +-	struct dentry		*debugfs_reset; +-	struct dentry		*debugfs_antenna; +-	struct dentry		*debugfs_misc; +-	struct dentry		*debugfs_frameerrors; +-	struct dentry		*debugfs_ani; +-	struct dentry		*debugfs_queue; + }; +  + /** +@@ -141,9 +130,6 @@ void + ath5k_debug_init_device(struct ath5k_softc *sc); +  + void +-ath5k_debug_finish_device(struct ath5k_softc *sc); +- +-void + ath5k_debug_printrxbuffs(struct ath5k_softc *sc, struct ath5k_hw *ah); +  + void +@@ -167,9 +153,6 @@ static inline void + ath5k_debug_init_device(struct ath5k_softc *sc) {} +  + static inline void +-ath5k_debug_finish_device(struct ath5k_softc *sc) {} +- +-static inline void + ath5k_debug_printrxbuffs(struct ath5k_softc *sc, struct ath5k_hw *ah) {} +  + static inline void +--- a/drivers/net/wireless/ath/ath5k/base.c ++++ b/drivers/net/wireless/ath/ath5k/base.c +@@ -2901,7 +2901,6 @@ ath5k_deinit_softc(struct ath5k_softc *s + 	 * XXX: ??? detach ath5k_hw ??? + 	 * Other than that, it's straightforward... + 	 */ +-	ath5k_debug_finish_device(sc); + 	ieee80211_unregister_hw(hw); + 	ath5k_desc_free(sc); + 	ath5k_txq_release(sc); | 
