From e8341ffbdf71a3aeba7845d00d247a7ffcd7c1b6 Mon Sep 17 00:00:00 2001 From: sam Date: Thu, 13 Nov 2003 05:35:07 +0000 Subject: Don't count PHY errors as input errors. This is important for 5212-based devices because PHY errors are used to collect data on environmental noise that and doesn't truly reflect the state of the communications media. The result is confused users. Folks that want to watch PHY errors can still get the statistics through the device ioctl (used by athstats). --- sys/dev/ath/if_ath.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'sys/dev/ath/if_ath.c') diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index f1f8154..402f967 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -1633,7 +1633,6 @@ ath_rx_proc(void *arg, int npending) break; TAILQ_REMOVE(&sc->sc_rxbuf, bf, bf_list); if (ds->ds_rxstat.rs_status != 0) { - ifp->if_ierrors++; if (ds->ds_rxstat.rs_status & HAL_RXERR_CRC) sc->sc_stats.ast_rx_crcerr++; if (ds->ds_rxstat.rs_status & HAL_RXERR_FIFO) @@ -1644,6 +1643,15 @@ ath_rx_proc(void *arg, int npending) sc->sc_stats.ast_rx_phyerr++; phyerr = ds->ds_rxstat.rs_phyerr & 0x1f; sc->sc_stats.ast_rx_phy[phyerr]++; + } else { + /* + * NB: don't count PHY errors as input errors; + * we enable them on the 5212 to collect info + * about environmental noise and, in that + * setting, they don't really reflect tx/rx + * errors. + */ + ifp->if_ierrors++; } goto rx_next; } -- cgit v1.1