From 85643802a43b9eaff00831cd42510f5ecd15be81 Mon Sep 17 00:00:00 2001 From: Sam Leffler Date: Thu, 13 Nov 2003 05:35:07 +0000 Subject: [PATCH] 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(-) diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index f1f8154567c..402f967ef6d 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; }