Browse Source

ath9k: add a separate debug level for stuck beacons

Stuck beacons are a useful indicator for debugging various PHY
issues such as calibration. Putting them on the same debug level
as the other beacon stuff makes it hard to spot them in huge amounts
of spam.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau 15 years ago
parent
commit
6252fcb9f8
2 changed files with 5 additions and 3 deletions
  1. 3 3
      drivers/net/wireless/ath/ath9k/beacon.c
  2. 2 0
      drivers/net/wireless/ath/debug.h

+ 3 - 3
drivers/net/wireless/ath/ath9k/beacon.c

@@ -359,11 +359,11 @@ void ath_beacon_tasklet(unsigned long data)
 		sc->beacon.bmisscnt++;
 		sc->beacon.bmisscnt++;
 
 
 		if (sc->beacon.bmisscnt < BSTUCK_THRESH) {
 		if (sc->beacon.bmisscnt < BSTUCK_THRESH) {
-			ath_print(common, ATH_DBG_BEACON,
+			ath_print(common, ATH_DBG_BSTUCK,
 				  "missed %u consecutive beacons\n",
 				  "missed %u consecutive beacons\n",
 				  sc->beacon.bmisscnt);
 				  sc->beacon.bmisscnt);
 		} else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) {
 		} else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) {
-			ath_print(common, ATH_DBG_BEACON,
+			ath_print(common, ATH_DBG_BSTUCK,
 				  "beacon is officially stuck\n");
 				  "beacon is officially stuck\n");
 			sc->sc_flags |= SC_OP_TSF_RESET;
 			sc->sc_flags |= SC_OP_TSF_RESET;
 			ath_reset(sc, false);
 			ath_reset(sc, false);
@@ -373,7 +373,7 @@ void ath_beacon_tasklet(unsigned long data)
 	}
 	}
 
 
 	if (sc->beacon.bmisscnt != 0) {
 	if (sc->beacon.bmisscnt != 0) {
-		ath_print(common, ATH_DBG_BEACON,
+		ath_print(common, ATH_DBG_BSTUCK,
 			  "resume beacon xmit after %u misses\n",
 			  "resume beacon xmit after %u misses\n",
 			  sc->beacon.bmisscnt);
 			  sc->beacon.bmisscnt);
 		sc->beacon.bmisscnt = 0;
 		sc->beacon.bmisscnt = 0;

+ 2 - 0
drivers/net/wireless/ath/debug.h

@@ -36,6 +36,7 @@
  * @ATH_DBG_PS: power save processing
  * @ATH_DBG_PS: power save processing
  * @ATH_DBG_HWTIMER: hardware timer handling
  * @ATH_DBG_HWTIMER: hardware timer handling
  * @ATH_DBG_BTCOEX: bluetooth coexistance
  * @ATH_DBG_BTCOEX: bluetooth coexistance
+ * @ATH_DBG_BSTUCK: stuck beacons
  * @ATH_DBG_ANY: enable all debugging
  * @ATH_DBG_ANY: enable all debugging
  *
  *
  * The debug level is used to control the amount and type of debugging output
  * The debug level is used to control the amount and type of debugging output
@@ -60,6 +61,7 @@ enum ATH_DEBUG {
 	ATH_DBG_HWTIMER		= 0x00001000,
 	ATH_DBG_HWTIMER		= 0x00001000,
 	ATH_DBG_BTCOEX		= 0x00002000,
 	ATH_DBG_BTCOEX		= 0x00002000,
 	ATH_DBG_WMI		= 0x00004000,
 	ATH_DBG_WMI		= 0x00004000,
+	ATH_DBG_BSTUCK		= 0x00008000,
 	ATH_DBG_ANY		= 0xffffffff
 	ATH_DBG_ANY		= 0xffffffff
 };
 };