-/* Special statistics */
-SS_STAT(LOG, node_octets), /* rx and tx data count (bytes) */
-SS_STAT(LOG, node_rssi), /* received RSSI of the node */
-SS_STAT(LOG, node_tx_rate), /* used tx rate to the node */
-SS_STAT(LOG, ath_nodes), /* the number of associated nodes */
-SS_STAT(D, ns_rx_beacons), /* rx beacon frames */
-SS_STAT(LOG, ast_ant_rx), /* rx frames with antenna */
-SS_STAT(LOG, ast_ant_tx), /* tx frames with antenna */
-
-/* Node statistics */
-NS_STAT(LOG, ns_rx_data), /* rx data frames */
-NS_STAT(LOG, ns_rx_mgmt), /* rx management frames */
-NS_STAT(LOG, ns_rx_ctrl), /* rx control frames */
-NS_STAT(D, ns_rx_ucast), /* rx unicast frames */
-NS_STAT(D, ns_rx_mcast), /* rx multi/broadcast frames */
-NS_STAT(D, ns_rx_proberesp), /* rx probe response frames */
-NS_STAT(LOG, ns_rx_dup), /* rx discard because it's a dup */
-NS_STAT(SU, ns_rx_noprivacy), /* rx w/ wep but privacy off */
-NS_STAT(SU, ns_rx_wepfail), /* rx wep processing failed */
-NS_STAT(SU, ns_rx_demicfail), /* rx demic failed */
-NS_STAT(SU, ns_rx_decap), /* rx decapsulation failed */
-NS_STAT(SU, ns_rx_defrag), /* rx defragmentation failed */
-NS_STAT(D, ns_rx_disassoc), /* rx disassociation */
-NS_STAT(D, ns_rx_deauth), /* rx deauthentication */
-NS_STAT(SU, ns_rx_decryptcrc), /* rx decrypt failed on crc */
-NS_STAT(SU, ns_rx_unauth), /* rx on unauthorized port */
-NS_STAT(SU, ns_rx_unencrypted), /* rx unecrypted w/ privacy */
-NS_STAT(LOG, ns_tx_data), /* tx data frames */
-NS_STAT(LOG, ns_tx_mgmt), /* tx management frames */
-NS_STAT(D, ns_tx_ucast), /* tx unicast frames */
-NS_STAT(D, ns_tx_mcast), /* tx multi/broadcast frames */
-NS_STAT(D, ns_tx_probereq), /* tx probe request frames */
-NS_STAT(D, ns_tx_uapsd), /* tx on uapsd queue */
-NS_STAT(SU, ns_tx_novlantag), /* tx discard due to no tag */
-NS_STAT(SU, ns_tx_vlanmismatch), /* tx discard due to of bad tag */
-NS_STAT(D, ns_tx_eosplost), /* uapsd EOSP retried out */
-NS_STAT(D, ns_ps_discard), /* ps discard due to of age */
-NS_STAT(D, ns_uapsd_triggers), /* uapsd triggers */
-NS_STAT(LOG, ns_tx_assoc), /* [re]associations */
-NS_STAT(LOG, ns_tx_auth), /* [re]authentications */
-NS_STAT(D, ns_tx_deauth), /* deauthentications */
-NS_STAT(D, ns_tx_disassoc), /* disassociations */
-NS_STAT(D, ns_psq_drops), /* power save queue drops */
-
-/* Iface statistics */
-IS_STAT(SU, is_rx_badversion), /* rx frame with bad version */
-IS_STAT(SU, is_rx_tooshort), /* rx frame too short */
-IS_STAT(LOG, is_rx_wrongbss), /* rx from wrong bssid */
-IS_STAT(LOG, is_rx_dup), /* rx discard due to it's a dup */
-IS_STAT(SU, is_rx_wrongdir), /* rx w/ wrong direction */
-IS_STAT(D, is_rx_mcastecho), /* rx discard due to of mcast echo */
-IS_STAT(SU, is_rx_notassoc), /* rx discard due to sta !assoc */
-IS_STAT(SU, is_rx_noprivacy), /* rx w/ wep but privacy off */
-IS_STAT(SU, is_rx_unencrypted), /* rx w/o wep and privacy on */
-IS_STAT(SU, is_rx_wepfail), /* rx wep processing failed */
-IS_STAT(SU, is_rx_decap), /* rx decapsulation failed */
-IS_STAT(D, is_rx_mgtdiscard), /* rx discard mgt frames */
-IS_STAT(D, is_rx_ctl), /* rx discard ctrl frames */
-IS_STAT(D, is_rx_beacon), /* rx beacon frames */
-IS_STAT(D, is_rx_rstoobig), /* rx rate set truncated */
-IS_STAT(SU, is_rx_elem_missing), /* rx required element missing*/
-IS_STAT(SU, is_rx_elem_toobig), /* rx element too big */
-IS_STAT(SU, is_rx_elem_toosmall), /* rx element too small */
-IS_STAT(LOG, is_rx_elem_unknown), /* rx element unknown */
-IS_STAT(SU, is_rx_badchan), /* rx frame w/ invalid chan */
-IS_STAT(SU, is_rx_chanmismatch), /* rx frame chan mismatch */
-IS_STAT(SU, is_rx_nodealloc), /* rx frame dropped */
-IS_STAT(LOG, is_rx_ssidmismatch), /* rx frame ssid mismatch */
-IS_STAT(SU, is_rx_auth_unsupported), /* rx w/ unsupported auth alg */
-IS_STAT(SU, is_rx_auth_fail), /* rx sta auth failure */
-IS_STAT(SU, is_rx_auth_countermeasures),/* rx auth discard due to CM */
-IS_STAT(SU, is_rx_assoc_bss), /* rx assoc from wrong bssid */
-IS_STAT(SU, is_rx_assoc_notauth), /* rx assoc w/o auth */
-IS_STAT(SU, is_rx_assoc_capmismatch), /* rx assoc w/ cap mismatch */
-IS_STAT(SU, is_rx_assoc_norate), /* rx assoc w/ no rate match */
-IS_STAT(SU, is_rx_assoc_badwpaie), /* rx assoc w/ bad WPA IE */
-IS_STAT(LOG, is_rx_deauth), /* rx deauthentication */
-IS_STAT(LOG, is_rx_disassoc), /* rx disassociation */
-IS_STAT(SU, is_rx_badsubtype), /* rx frame w/ unknown subtype*/
-IS_STAT(SU, is_rx_nobuf), /* rx failed for lack of buf */
-IS_STAT(SU, is_rx_decryptcrc), /* rx decrypt failed on crc */
-IS_STAT(D, is_rx_ahdemo_mgt), /* rx discard ahdemo mgt frame*/
-IS_STAT(SU, is_rx_bad_auth), /* rx bad auth request */
-IS_STAT(SU, is_rx_unauth), /* rx on unauthorized port */
-IS_STAT(SU, is_rx_badkeyid), /* rx w/ incorrect keyid */
-IS_STAT(D, is_rx_ccmpreplay), /* rx seq# violation (CCMP), */
-IS_STAT(D, is_rx_ccmpformat), /* rx format bad (CCMP), */
-IS_STAT(D, is_rx_ccmpmic), /* rx MIC check failed (CCMP), */
-IS_STAT(D, is_rx_tkipreplay), /* rx seq# violation (TKIP), */
-IS_STAT(D, is_rx_tkipformat), /* rx format bad (TKIP), */
-IS_STAT(D, is_rx_tkipmic), /* rx MIC check failed (TKIP), */
-IS_STAT(D, is_rx_tkipicv), /* rx ICV check failed (TKIP), */
-IS_STAT(D, is_rx_badcipher), /* rx failed due to of key type */
-IS_STAT(D, is_rx_nocipherctx), /* rx failed due to key !setup */
-IS_STAT(D, is_rx_acl), /* rx discard due to of acl policy */
-IS_STAT(D, is_rx_ffcnt), /* rx fast frames */
-IS_STAT(SU, is_rx_badathtnl), /* driver key alloc failed */
-IS_STAT(SU, is_tx_nobuf), /* tx failed for lack of buf */
-IS_STAT(SU, is_tx_nonode), /* tx failed for no node */
-IS_STAT(SU, is_tx_unknownmgt), /* tx of unknown mgt frame */
-IS_STAT(SU, is_tx_badcipher), /* tx failed due to of key type */
-IS_STAT(SU, is_tx_nodefkey), /* tx failed due to no defkey */
-IS_STAT(SU, is_tx_noheadroom), /* tx failed due to no space */
-IS_STAT(D, is_tx_ffokcnt), /* tx fast frames sent success */
-IS_STAT(D, is_tx_fferrcnt), /* tx fast frames sent success */
-IS_STAT(D, is_scan_active), /* active scans started */
-IS_STAT(D, is_scan_passive), /* passive scans started */
-IS_STAT(D, is_node_timeout), /* nodes timed out inactivity */
-IS_STAT(D, is_crypto_nomem), /* no memory for crypto ctx */
-IS_STAT(D, is_crypto_tkip), /* tkip crypto done in s/w */
-IS_STAT(D, is_crypto_tkipenmic), /* tkip en-MIC done in s/w */
-IS_STAT(D, is_crypto_tkipdemic), /* tkip de-MIC done in s/w */
-IS_STAT(D, is_crypto_tkipcm), /* tkip counter measures */
-IS_STAT(D, is_crypto_ccmp), /* ccmp crypto done in s/w */
-IS_STAT(D, is_crypto_wep), /* wep crypto done in s/w */
-IS_STAT(D, is_crypto_setkey_cipher), /* cipher rejected key */
-IS_STAT(D, is_crypto_setkey_nokey), /* no key index for setkey */
-IS_STAT(D, is_crypto_delkey), /* driver key delete failed */
-IS_STAT(D, is_crypto_badcipher), /* unknown cipher */
-IS_STAT(D, is_crypto_nocipher), /* cipher not available */
-IS_STAT(D, is_crypto_attachfail), /* cipher attach failed */
-IS_STAT(D, is_crypto_swfallback), /* cipher fallback to s/w */
-IS_STAT(D, is_crypto_keyfail), /* driver key alloc failed */
-IS_STAT(D, is_crypto_enmicfail), /* en-MIC failed */
-IS_STAT(SU, is_ibss_capmismatch), /* merge failed-cap mismatch */
-IS_STAT(SU, is_ibss_norate), /* merge failed-rate mismatch */
-IS_STAT(D, is_ps_unassoc), /* ps-poll for unassoc. sta */
-IS_STAT(D, is_ps_badaid), /* ps-poll w/ incorrect aid */
-IS_STAT(D, is_ps_qempty), /* ps-poll w/ nothing to send */
-
-/* Atheros statistics */
-AS_STAT(D, ast_watchdog), /* device reset by watchdog */
-AS_STAT(D, ast_hardware), /* fatal hardware error interrupts */
-AS_STAT(D, ast_bmiss), /* beacon miss interrupts */
-AS_STAT(D, ast_rxorn), /* rx overrun interrupts */
-AS_STAT(D, ast_rxeol), /* rx eol interrupts */
-AS_STAT(D, ast_txurn), /* tx underrun interrupts */
-AS_STAT(D, ast_mib), /* mib interrupts */
-AS_STAT(D, ast_tx_packets), /* packet sent on the interface */
-AS_STAT(D, ast_tx_mgmt), /* management frames transmitted */
-AS_STAT(LOG, ast_tx_discard), /* frames discarded prior to assoc */
-AS_STAT(SU, ast_tx_invalid), /* frames discarded due to is device gone */
-AS_STAT(SU, ast_tx_qstop), /* tx queue stopped because it's full */
-AS_STAT(SU, ast_tx_encap), /* tx encapsulation failed */
-AS_STAT(SU, ast_tx_nonode), /* tx failed due to of no node */
-AS_STAT(SU, ast_tx_nobuf), /* tx failed due to of no tx buffer (data), */
-AS_STAT(SU, ast_tx_nobufmgt), /* tx failed due to of no tx buffer (mgmt),*/
-AS_STAT(LOG, ast_tx_xretries), /* tx failed due to of too many retries */
-AS_STAT(SU, ast_tx_fifoerr), /* tx failed due to of FIFO underrun */
-AS_STAT(SU, ast_tx_filtered), /* tx failed due to xmit filtered */
-AS_STAT(LOG, ast_tx_shortretry), /* tx on-chip retries (short), */
-AS_STAT(LOG, ast_tx_longretry), /* tx on-chip retries (long), */
-AS_STAT(SU, ast_tx_badrate), /* tx failed due to of bogus xmit rate */
-AS_STAT(D, ast_tx_noack), /* tx frames with no ack marked */
-AS_STAT(D, ast_tx_rts), /* tx frames with rts enabled */
-AS_STAT(D, ast_tx_cts), /* tx frames with cts enabled */
-AS_STAT(D, ast_tx_shortpre), /* tx frames with short preamble */
-AS_STAT(LOG, ast_tx_altrate), /* tx frames with alternate rate */
-AS_STAT(D, ast_tx_protect), /* tx frames with protection */
-AS_STAT(SU, ast_rx_orn), /* rx failed due to of desc overrun */
-AS_STAT(LOG, ast_rx_crcerr), /* rx failed due to of bad CRC */
-AS_STAT(SU, ast_rx_fifoerr), /* rx failed due to of FIFO overrun */
-AS_STAT(SU, ast_rx_badcrypt), /* rx failed due to of decryption */
-AS_STAT(SU, ast_rx_badmic), /* rx failed due to of MIC failure */
-AS_STAT(LOG, ast_rx_phyerr), /* rx PHY error summary count */
-AS_STAT(SU, ast_rx_tooshort), /* rx discarded due to frame too short */
-AS_STAT(SU, ast_rx_toobig), /* rx discarded due to frame too large */
-AS_STAT(SU, ast_rx_nobuf), /* rx setup failed due to of no skbuff */
-AS_STAT(D, ast_rx_packets), /* packet recv on the interface */
-AS_STAT(D, ast_rx_mgt), /* management frames received */
-AS_STAT(D, ast_rx_ctl), /* control frames received */
-AS_STAT(D, ast_be_xmit), /* beacons transmitted */
-AS_STAT(SU, ast_be_nobuf), /* no skbuff available for beacon */
-AS_STAT(D, ast_per_cal), /* periodic calibration calls */
-AS_STAT(D, ast_per_calfail), /* periodic calibration failed */
-AS_STAT(D, ast_per_rfgain), /* periodic calibration rfgain reset */
-AS_STAT(D, ast_rate_calls), /* rate control checks */
-AS_STAT(D, ast_rate_raise), /* rate control raised xmit rate */
-AS_STAT(D, ast_rate_drop), /* rate control dropped xmit rate */
-AS_STAT(D, ast_ant_defswitch), /* rx/default antenna switches */
-AS_STAT(D, ast_ant_txswitch) /* tx antenna switches */
+ /* Special statistics */
+ SS_STAT(LOG, node_octets), /* rx and tx data count (bytes) */
+ SS_STAT(LOG, node_rssi), /* received RSSI of the node */
+ SS_STAT(LOG, node_tx_rate), /* used tx rate to the node */
+ SS_STAT(LOG, ath_nodes), /* the number of associated nodes */
+ SS_STAT(D, ns_rx_beacons), /* rx beacon frames */
+ SS_STAT(LOG, ast_ant_rx), /* rx frames with antenna */
+ SS_STAT(LOG, ast_ant_tx), /* tx frames with antenna */
+
+ /* Node statistics */
+ NS_STAT(LOG, ns_rx_data), /* rx data frames */
+ NS_STAT(LOG, ns_rx_mgmt), /* rx management frames */
+ NS_STAT(LOG, ns_rx_ctrl), /* rx control frames */
+ NS_STAT(D, ns_rx_ucast), /* rx unicast frames */
+ NS_STAT(D, ns_rx_mcast), /* rx multi/broadcast frames */
+ NS_STAT(D, ns_rx_proberesp), /* rx probe response frames */
+ NS_STAT(LOG, ns_rx_dup), /* rx discard because it's a dup */
+ NS_STAT(SU, ns_rx_noprivacy), /* rx w/ wep but privacy off */
+ NS_STAT(SU, ns_rx_wepfail), /* rx wep processing failed */
+ NS_STAT(SU, ns_rx_demicfail), /* rx demic failed */
+ NS_STAT(SU, ns_rx_decap), /* rx decapsulation failed */
+ NS_STAT(SU, ns_rx_defrag), /* rx defragmentation failed */
+ NS_STAT(D, ns_rx_disassoc), /* rx disassociation */
+ NS_STAT(D, ns_rx_deauth), /* rx deauthentication */
+ NS_STAT(SU, ns_rx_decryptcrc), /* rx decrypt failed on crc */
+ NS_STAT(SU, ns_rx_unauth), /* rx on unauthorized port */
+ NS_STAT(SU, ns_rx_unencrypted), /* rx unecrypted w/ privacy */
+ NS_STAT(LOG, ns_tx_data), /* tx data frames */
+ NS_STAT(LOG, ns_tx_mgmt), /* tx management frames */
+ NS_STAT(D, ns_tx_ucast), /* tx unicast frames */
+ NS_STAT(D, ns_tx_mcast), /* tx multi/broadcast frames */
+ NS_STAT(D, ns_tx_probereq), /* tx probe request frames */
+ NS_STAT(D, ns_tx_uapsd), /* tx on uapsd queue */
+ NS_STAT(SU, ns_tx_novlantag), /* tx discard due to no tag */
+ NS_STAT(SU, ns_tx_vlanmismatch), /* tx discard due to of bad tag */
+ NS_STAT(D, ns_tx_eosplost), /* uapsd EOSP retried out */
+ NS_STAT(D, ns_ps_discard), /* ps discard due to of age */
+ NS_STAT(D, ns_uapsd_triggers), /* uapsd triggers */
+ NS_STAT(LOG, ns_tx_assoc), /* [re]associations */
+ NS_STAT(LOG, ns_tx_auth), /* [re]authentications */
+ NS_STAT(D, ns_tx_deauth), /* deauthentications */
+ NS_STAT(D, ns_tx_disassoc), /* disassociations */
+ NS_STAT(D, ns_psq_drops), /* power save queue drops */
+
+ /* Iface statistics */
+ IS_STAT(SU, is_rx_badversion), /* rx frame with bad version */
+ IS_STAT(SU, is_rx_tooshort), /* rx frame too short */
+ IS_STAT(LOG, is_rx_wrongbss), /* rx from wrong bssid */
+ IS_STAT(LOG, is_rx_dup), /* rx discard due to it's a dup */
+ IS_STAT(SU, is_rx_wrongdir), /* rx w/ wrong direction */
+ IS_STAT(D, is_rx_mcastecho), /* rx discard due to of mcast echo */
+ IS_STAT(SU, is_rx_notassoc), /* rx discard due to sta !assoc */
+ IS_STAT(SU, is_rx_noprivacy), /* rx w/ wep but privacy off */
+ IS_STAT(SU, is_rx_unencrypted), /* rx w/o wep and privacy on */
+ IS_STAT(SU, is_rx_wepfail), /* rx wep processing failed */
+ IS_STAT(SU, is_rx_decap), /* rx decapsulation failed */
+ IS_STAT(D, is_rx_mgtdiscard), /* rx discard mgt frames */
+ IS_STAT(D, is_rx_ctl), /* rx discard ctrl frames */
+ IS_STAT(D, is_rx_beacon), /* rx beacon frames */
+ IS_STAT(D, is_rx_rstoobig), /* rx rate set truncated */
+ IS_STAT(SU, is_rx_elem_missing), /* rx required element missing*/
+ IS_STAT(SU, is_rx_elem_toobig), /* rx element too big */
+ IS_STAT(SU, is_rx_elem_toosmall), /* rx element too small */
+ IS_STAT(LOG, is_rx_elem_unknown), /* rx element unknown */
+ IS_STAT(SU, is_rx_badchan), /* rx frame w/ invalid chan */
+ IS_STAT(SU, is_rx_chanmismatch), /* rx frame chan mismatch */
+ IS_STAT(SU, is_rx_nodealloc), /* rx frame dropped */
+ IS_STAT(LOG, is_rx_ssidmismatch), /* rx frame ssid mismatch */
+ IS_STAT(SU, is_rx_auth_unsupported), /* rx w/ unsupported auth alg */
+ IS_STAT(SU, is_rx_auth_fail), /* rx sta auth failure */
+ IS_STAT(SU, is_rx_auth_countermeasures), /* rx auth discard due to CM */
+ IS_STAT(SU, is_rx_assoc_bss), /* rx assoc from wrong bssid */
+ IS_STAT(SU, is_rx_assoc_notauth), /* rx assoc w/o auth */
+ IS_STAT(SU, is_rx_assoc_capmismatch), /* rx assoc w/ cap mismatch */
+ IS_STAT(SU, is_rx_assoc_norate), /* rx assoc w/ no rate match */
+ IS_STAT(SU, is_rx_assoc_badwpaie), /* rx assoc w/ bad WPA IE */
+ IS_STAT(LOG, is_rx_deauth), /* rx deauthentication */
+ IS_STAT(LOG, is_rx_disassoc), /* rx disassociation */
+ IS_STAT(SU, is_rx_badsubtype), /* rx frame w/ unknown subtype*/
+ IS_STAT(SU, is_rx_nobuf), /* rx failed for lack of buf */
+ IS_STAT(SU, is_rx_decryptcrc), /* rx decrypt failed on crc */
+ IS_STAT(D, is_rx_ahdemo_mgt), /* rx discard ahdemo mgt frame*/
+ IS_STAT(SU, is_rx_bad_auth), /* rx bad auth request */
+ IS_STAT(SU, is_rx_unauth), /* rx on unauthorized port */
+ IS_STAT(SU, is_rx_badkeyid), /* rx w/ incorrect keyid */
+ IS_STAT(D, is_rx_ccmpreplay), /* rx seq# violation (CCMP), */
+ IS_STAT(D, is_rx_ccmpformat), /* rx format bad (CCMP), */
+ IS_STAT(D, is_rx_ccmpmic), /* rx MIC check failed (CCMP), */
+ IS_STAT(D, is_rx_tkipreplay), /* rx seq# violation (TKIP), */
+ IS_STAT(D, is_rx_tkipformat), /* rx format bad (TKIP), */
+ IS_STAT(D, is_rx_tkipmic), /* rx MIC check failed (TKIP), */
+ IS_STAT(D, is_rx_tkipicv), /* rx ICV check failed (TKIP), */
+ IS_STAT(D, is_rx_badcipher), /* rx failed due to of key type */
+ IS_STAT(D, is_rx_nocipherctx), /* rx failed due to key !setup */
+ IS_STAT(D, is_rx_acl), /* rx discard due to of acl policy */
+ IS_STAT(D, is_rx_ffcnt), /* rx fast frames */
+ IS_STAT(SU, is_rx_badathtnl), /* driver key alloc failed */
+ IS_STAT(SU, is_tx_nobuf), /* tx failed for lack of buf */
+ IS_STAT(SU, is_tx_nonode), /* tx failed for no node */
+ IS_STAT(SU, is_tx_unknownmgt), /* tx of unknown mgt frame */
+ IS_STAT(SU, is_tx_badcipher), /* tx failed due to of key type */
+ IS_STAT(SU, is_tx_nodefkey), /* tx failed due to no defkey */
+ IS_STAT(SU, is_tx_noheadroom), /* tx failed due to no space */
+ IS_STAT(D, is_tx_ffokcnt), /* tx fast frames sent success */
+ IS_STAT(D, is_tx_fferrcnt), /* tx fast frames sent success */
+ IS_STAT(D, is_scan_active), /* active scans started */
+ IS_STAT(D, is_scan_passive), /* passive scans started */
+ IS_STAT(D, is_node_timeout), /* nodes timed out inactivity */
+ IS_STAT(D, is_crypto_nomem), /* no memory for crypto ctx */
+ IS_STAT(D, is_crypto_tkip), /* tkip crypto done in s/w */
+ IS_STAT(D, is_crypto_tkipenmic), /* tkip en-MIC done in s/w */
+ IS_STAT(D, is_crypto_tkipdemic), /* tkip de-MIC done in s/w */
+ IS_STAT(D, is_crypto_tkipcm), /* tkip counter measures */
+ IS_STAT(D, is_crypto_ccmp), /* ccmp crypto done in s/w */
+ IS_STAT(D, is_crypto_wep), /* wep crypto done in s/w */
+ IS_STAT(D, is_crypto_setkey_cipher), /* cipher rejected key */
+ IS_STAT(D, is_crypto_setkey_nokey), /* no key index for setkey */
+ IS_STAT(D, is_crypto_delkey), /* driver key delete failed */
+ IS_STAT(D, is_crypto_badcipher), /* unknown cipher */
+ IS_STAT(D, is_crypto_nocipher), /* cipher not available */
+ IS_STAT(D, is_crypto_attachfail), /* cipher attach failed */
+ IS_STAT(D, is_crypto_swfallback), /* cipher fallback to s/w */
+ IS_STAT(D, is_crypto_keyfail), /* driver key alloc failed */
+ IS_STAT(D, is_crypto_enmicfail), /* en-MIC failed */
+ IS_STAT(SU, is_ibss_capmismatch), /* merge failed-cap mismatch */
+ IS_STAT(SU, is_ibss_norate), /* merge failed-rate mismatch */
+ IS_STAT(D, is_ps_unassoc), /* ps-poll for unassoc. sta */
+ IS_STAT(D, is_ps_badaid), /* ps-poll w/ incorrect aid */
+ IS_STAT(D, is_ps_qempty), /* ps-poll w/ nothing to send */
+
+ /* Atheros statistics */
+ AS_STAT(D, ast_watchdog), /* device reset by watchdog */
+ AS_STAT(D, ast_hardware), /* fatal hardware error interrupts */
+ AS_STAT(D, ast_bmiss), /* beacon miss interrupts */
+ AS_STAT(D, ast_rxorn), /* rx overrun interrupts */
+ AS_STAT(D, ast_rxeol), /* rx eol interrupts */
+ AS_STAT(D, ast_txurn), /* tx underrun interrupts */
+ AS_STAT(D, ast_mib), /* mib interrupts */
+ AS_STAT(D, ast_tx_packets), /* packet sent on the interface */
+ AS_STAT(D, ast_tx_mgmt), /* management frames transmitted */
+ AS_STAT(LOG, ast_tx_discard), /* frames discarded prior to assoc */
+ AS_STAT(SU, ast_tx_invalid), /* frames discarded due to is device gone */
+ AS_STAT(SU, ast_tx_qstop), /* tx queue stopped because it's full */
+ AS_STAT(SU, ast_tx_encap), /* tx encapsulation failed */
+ AS_STAT(SU, ast_tx_nonode), /* tx failed due to of no node */
+ AS_STAT(SU, ast_tx_nobuf), /* tx failed due to of no tx buffer (data), */
+ AS_STAT(SU, ast_tx_nobufmgt), /* tx failed due to of no tx buffer (mgmt),*/
+ AS_STAT(LOG, ast_tx_xretries), /* tx failed due to of too many retries */
+ AS_STAT(SU, ast_tx_fifoerr), /* tx failed due to of FIFO underrun */
+ AS_STAT(SU, ast_tx_filtered), /* tx failed due to xmit filtered */
+ AS_STAT(LOG, ast_tx_shortretry), /* tx on-chip retries (short), */
+ AS_STAT(LOG, ast_tx_longretry), /* tx on-chip retries (long), */
+ AS_STAT(SU, ast_tx_badrate), /* tx failed due to of bogus xmit rate */
+ AS_STAT(D, ast_tx_noack), /* tx frames with no ack marked */
+ AS_STAT(D, ast_tx_rts), /* tx frames with rts enabled */
+ AS_STAT(D, ast_tx_cts), /* tx frames with cts enabled */
+ AS_STAT(D, ast_tx_shortpre), /* tx frames with short preamble */
+ AS_STAT(LOG, ast_tx_altrate), /* tx frames with alternate rate */
+ AS_STAT(D, ast_tx_protect), /* tx frames with protection */
+ AS_STAT(SU, ast_rx_orn), /* rx failed due to of desc overrun */
+ AS_STAT(LOG, ast_rx_crcerr), /* rx failed due to of bad CRC */
+ AS_STAT(SU, ast_rx_fifoerr), /* rx failed due to of FIFO overrun */
+ AS_STAT(SU, ast_rx_badcrypt), /* rx failed due to of decryption */
+ AS_STAT(SU, ast_rx_badmic), /* rx failed due to of MIC failure */
+ AS_STAT(LOG, ast_rx_phyerr), /* rx PHY error summary count */
+ AS_STAT(SU, ast_rx_tooshort), /* rx discarded due to frame too short */
+ AS_STAT(SU, ast_rx_toobig), /* rx discarded due to frame too large */
+ AS_STAT(SU, ast_rx_nobuf), /* rx setup failed due to of no skbuff */
+ AS_STAT(D, ast_rx_packets), /* packet recv on the interface */
+ AS_STAT(D, ast_rx_mgt), /* management frames received */
+ AS_STAT(D, ast_rx_ctl), /* control frames received */
+ AS_STAT(D, ast_be_xmit), /* beacons transmitted */
+ AS_STAT(SU, ast_be_nobuf), /* no skbuff available for beacon */
+ AS_STAT(D, ast_per_cal), /* periodic calibration calls */
+ AS_STAT(D, ast_per_calfail), /* periodic calibration failed */
+ AS_STAT(D, ast_per_rfgain), /* periodic calibration rfgain reset */
+ AS_STAT(D, ast_rate_calls), /* rate control checks */
+ AS_STAT(D, ast_rate_raise), /* rate control raised xmit rate */
+ AS_STAT(D, ast_rate_drop), /* rate control dropped xmit rate */
+ AS_STAT(D, ast_ant_defswitch), /* rx/default antenna switches */
+ AS_STAT(D, ast_ant_txswitch) /* tx antenna switches */