summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath5k/base.h
diff options
context:
space:
mode:
authorBruno Randolf2010-03-25 06:49:36 +0100
committerJohn W. Linville2010-03-31 20:39:09 +0200
commit495391d715a310a7cbf622850e372d40ac86ef6e (patch)
tree7da16c9d9fea88c9fdbeabc839d4d8380fc317ab /drivers/net/wireless/ath/ath5k/base.h
parentath5k: initialize default noise floor (diff)
downloadkernel-qcow2-linux-495391d715a310a7cbf622850e372d40ac86ef6e.tar.gz
kernel-qcow2-linux-495391d715a310a7cbf622850e372d40ac86ef6e.tar.xz
kernel-qcow2-linux-495391d715a310a7cbf622850e372d40ac86ef6e.zip
ath5k: simplify MIB counters
Let's keep MIB counter statistics in our own statistics structure and only convert it to ieee80211_low_level_stats when needed by mac80211. Also we don't need to read profile count registers in the MIB interrupt (they don't trigger MIB interrupts). Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.h')
-rw-r--r--drivers/net/wireless/ath/ath5k/base.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.h b/drivers/net/wireless/ath/ath5k/base.h
index 33f1d8b87ee1..fe5dae517545 100644
--- a/drivers/net/wireless/ath/ath5k/base.h
+++ b/drivers/net/wireless/ath/ath5k/base.h
@@ -105,10 +105,13 @@ struct ath5k_rfkill {
struct tasklet_struct toggleq;
};
-/* statistics (only used for debugging now) */
+/* statistics */
struct ath5k_statistics {
+ /* antenna use */
unsigned int antenna_rx[5]; /* frames count per antenna RX */
unsigned int antenna_tx[5]; /* frames count per antenna TX */
+
+ /* frame errors */
unsigned int rx_all_count; /* all RX frames, including errors */
unsigned int tx_all_count; /* all TX frames, including errors */
unsigned int rxerr_crc;
@@ -121,6 +124,13 @@ struct ath5k_statistics {
unsigned int txerr_retry;
unsigned int txerr_fifo;
unsigned int txerr_filt;
+
+ /* MIB counters */
+ unsigned int ack_fail;
+ unsigned int rts_fail;
+ unsigned int rts_ok;
+ unsigned int fcs_error;
+ unsigned int beacons;
};
#if CHAN_DEBUG
@@ -135,7 +145,6 @@ struct ath5k_softc {
struct pci_dev *pdev; /* for dma mapping */
void __iomem *iobase; /* address of the device */
struct mutex lock; /* dev-level lock */
- struct ieee80211_low_level_stats ll_stats;
struct ieee80211_hw *hw; /* IEEE 802.11 common */
struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
struct ieee80211_channel channels[ATH_CHAN_MAX];