ath9k: ratelimit missed beacons.

Rate limit missed beacon messages in the hope that reducing excessive
logging improves the MB issue.

See b/33254264

Change-Id: I553884e0f985fbe46754c020e54d07dde086aeac
diff --git a/drivers/net/wireless/ath/ath9k/beacon.c b/drivers/net/wireless/ath/ath9k/beacon.c
index 5cf0cd7..ef77f0e 100644
--- a/drivers/net/wireless/ath/ath9k/beacon.c
+++ b/drivers/net/wireless/ath/ath9k/beacon.c
@@ -355,14 +355,17 @@
 			return;
 
 		if (sc->beacon.bmisscnt < BSTUCK_THRESH * sc->nbcnvifs) {
-			ath_dbg(common, BSTUCK,
-				"missed %u consecutive beacons\n",
-				sc->beacon.bmisscnt);
+			if (printk_ratelimit())
+				ath_dbg(common, BSTUCK,
+					"missed %u consecutive beacons.\n",
+					sc->beacon.bmisscnt);
 			ath9k_hw_stop_dma_queue(ah, sc->beacon.beaconq);
 			if (sc->beacon.bmisscnt > 3)
 				ath9k_hw_bstuck_nfcal(ah);
 		} else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) {
-			ath_dbg(common, BSTUCK, "beacon is officially stuck\n");
+			if (printk_ratelimit())
+				ath_dbg(common, BSTUCK,
+					"beacon is officially stuck - reset\n");
 			sc->beacon.bmisscnt = 0;
 			ath9k_queue_reset(sc, RESET_TYPE_BEACON_STUCK);
 		}
@@ -394,8 +397,10 @@
 	bf = ath9k_beacon_generate(sc->hw, vif);
 
 	if (sc->beacon.bmisscnt != 0) {
-		ath_dbg(common, BSTUCK, "resume beacon xmit after %u misses\n",
-			sc->beacon.bmisscnt);
+		if (printk_ratelimit())
+			ath_dbg(common, BSTUCK,
+			        "resume beacon xmit after %u misses\n",
+			        sc->beacon.bmisscnt);
 		sc->beacon.bmisscnt = 0;
 	}