ath5k: debug level improvements
PATCH 1/1 ath5k: debug level improvements
* use only one debug level for beacon debugging: unify ATH5K_DEBUG_BEACON and ATH5K_DEBUG_BEACON_PROC.
* remove debug level ATH5K_DEBUG_FATAL. doesn't make sense as a debug level - if it's fatal it should be logged as an error.
* fancier printing of debug levels. cat /debugfs/ath5k/phy0/debug.
* allow debug levels to be changed by echoing their name into /debugfs/ath5k/phy0/debug. this will toggle the state, when it was off it will be turned on and vice versa.
* use copy_from_user() when reading from the debug files. use unsigned int for better optimization. reduce buffer sizes on stack.
drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/debug.c: Changes-licensed-under: GPL drivers/net/wireless/ath5k/debug.h: Changes-licensed-under: GPL
Signed-off-by Bruno Randolf <[email protected]>
Acked-by Jiri Slaby <[email protected]>
---
drivers/net/wireless/ath5k/base.c | 10 +-- drivers/net/wireless/ath5k/debug.c | 124 ++++++++++++++++++++++++++++++------ drivers/net/wireless/ath5k/debug.h | 18 ++--- 3 files changed, 115 insertions(+), 37 deletions(-)
drivers/net/wireless/ath5k/base.c +5 -5
@@ -1919,7 +1919,7 @@ ath5k_beacon_send(struct ath5k_softc *sc)struct ath5k_buf *bf = sc->bbuf;struct ath5k_hw *ah = sc->ah; -ATH5K_DBG (sc,ATH5K_DEBUG_BEACON_PROC ,"in beacon_send\n" ); +ATH5K_DBG_UNLIMIT (sc,ATH5K_DEBUG_BEACON ,"in beacon_send\n" );if (unlikely (bf->skb ==NULL || sc->opmode ==IEEE80211_IF_TYPE_STA || sc->opmode ==IEEE80211_IF_TYPE_MNTR )) {
@@ -1935,10 +1935,10 @@ ath5k_beacon_send(struct ath5k_softc *sc)*/ if (unlikely (ath5k_hw_num_tx_pending (ah, sc->bhalq) !=0 )) { sc->bmisscount++; -ATH5K_DBG (sc,ATH5K_DEBUG_BEACON_PROC , +ATH5K_DBG (sc,ATH5K_DEBUG_BEACON ,"missed %u consecutive beacons\n" , sc->bmisscount);if (sc->bmisscount >3 ) {/* NB: 3 is a guess */ -ATH5K_DBG (sc,ATH5K_DEBUG_BEACON_PROC , +ATH5K_DBG (sc,ATH5K_DEBUG_BEACON ,"stuck beacon time (%u missed)\n" , sc->bmisscount);tasklet_schedule (&sc->restq);
@@ -1946,7 +1946,7 @@ ath5k_beacon_send(struct ath5k_softc *sc)return ; }if (unlikely (sc->bmisscount !=0 )) { -ATH5K_DBG (sc,ATH5K_DEBUG_BEACON_PROC , +ATH5K_DBG (sc,ATH5K_DEBUG_BEACON ,"resume beacon xmit after %u misses\n" , sc->bmisscount); sc->bmisscount =0 ;
@@ -1966,7 +1966,7 @@ ath5k_beacon_send(struct ath5k_softc *sc)ath5k_hw_put_tx_buf (ah, sc->bhalq, bf->daddr);ath5k_hw_tx_start (ah, sc->bhalq); -ATH5K_DBG (sc,ATH5K_DEBUG_BEACON_PROC ,"TXDP[%u] = %llx (%p)\n" , +ATH5K_DBG (sc,ATH5K_DEBUG_BEACON ,"TXDP[%u] = %llx (%p)\n" , sc->bhalq, (unsigned long long )bf->daddr, bf->desc); sc->bsent++;
drivers/net/wireless/ath5k/debug.c +103 -21
188 lines not on this page · raw message
drivers/net/wireless/ath5k/debug.h +7 -11
@@ -91,7 +91,6 @@ struct ath5k_dbg_info {* @ATH5K_DEBUG_MODE: mode init/setup * @ATH5K_DEBUG_XMIT: basic xmit operation * @ATH5K_DEBUG_BEACON: beacon handling -* @ATH5K_DEBUG_BEACON_PROC: beacon ISR proc * @ATH5K_DEBUG_CALIBRATE: periodic calibration * @ATH5K_DEBUG_TXPOWER: transmit power setting * @ATH5K_DEBUG_LED: led management
@@ -99,7 +98,6 @@ struct ath5k_dbg_info {* @ATH5K_DEBUG_DUMP_TX: print transmit skb content * @ATH5K_DEBUG_DUMPMODES: dump modes * @ATH5K_DEBUG_TRACE: trace function calls -* @ATH5K_DEBUG_FATAL: fatal errors * @ATH5K_DEBUG_ANY: show at any debug level * * The debug level is used to control the amount and type of debugging output
@@ -115,15 +113,13 @@ enum ath5k_debug_level {ATH5K_DEBUG_MODE =0x00000004 ,ATH5K_DEBUG_XMIT =0x00000008 ,ATH5K_DEBUG_BEACON =0x00000010 , -ATH5K_DEBUG_BEACON_PROC =0x00000020 , -ATH5K_DEBUG_CALIBRATE =0x00000100 , -ATH5K_DEBUG_TXPOWER =0x00000200 , -ATH5K_DEBUG_LED =0x00000400 , -ATH5K_DEBUG_DUMP_RX =0x00001000 , -ATH5K_DEBUG_DUMP_TX =0x00002000 , -ATH5K_DEBUG_DUMPMODES =0x00004000 , -ATH5K_DEBUG_TRACE =0x00010000 , -ATH5K_DEBUG_FATAL =0x80000000 , +ATH5K_DEBUG_CALIBRATE =0x00000020 , +ATH5K_DEBUG_TXPOWER =0x00000040 , +ATH5K_DEBUG_LED =0x00000080 , +ATH5K_DEBUG_DUMP_RX =0x00000100 , +ATH5K_DEBUG_DUMP_TX =0x00000200 , +ATH5K_DEBUG_DUMPMODES =0x00000400 , +ATH5K_DEBUG_TRACE =0x00001000 ,ATH5K_DEBUG_ANY =0xffffffff };