]> Pileus Git - ~andy/linux/blobdiff - drivers/net/wireless/ath/ath5k/base.c
ath5k: add antenna statistics and debugfs file for antenna settings
[~andy/linux] / drivers / net / wireless / ath / ath5k / base.c
index 7c08434ebd1aeaf2209527e2b401f02c1bac5c59..e7a989c707ac2e0824935fe85e24faf4d6a3e6ea 100644 (file)
@@ -1997,6 +1997,12 @@ accept:
                rxs->signal = rxs->noise + rs.rs_rssi;
 
                rxs->antenna = rs.rs_antenna;
+
+               if (rs.rs_antenna > 0 && rs.rs_antenna < 5)
+                       sc->stats.antenna_rx[rs.rs_antenna]++;
+               else
+                       sc->stats.antenna_rx[0]++; /* invalid */
+
                rxs->rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate);
                rxs->flag |= ath5k_rx_decrypted(sc, ds, skb, &rs);
 
@@ -2090,6 +2096,11 @@ ath5k_tx_processq(struct ath5k_softc *sc, struct ath5k_txq *txq)
                 */
                ath5k_remove_padding(skb);
 
+               if (ts.ts_antenna > 0 && ts.ts_antenna < 5)
+                       sc->stats.antenna_tx[ts.ts_antenna]++;
+               else
+                       sc->stats.antenna_tx[0]++; /* invalid */
+
                ieee80211_tx_status(sc->hw, skb);
 
                spin_lock(&sc->txbuflock);