ath9k_phyerr are defined as index but have been treated as bitmask
(with an outdated mask used) for counting PHY errors in debugfs.
---
drivers/net/wireless/ath/ath9k/debug.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c
index 68d972b..3be5b83 100644
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -1049,8 +1049,6 @@ void ath_debug_stat_rx(struct ath_softc *sc, struct ath_rx_status *rs)
#define RX_SAMP_DBG(c) (sc->debug.bb_mac_samp[sc->debug.sampidx].rs\
[sc->debug.rsidx].c)
- u32 phyerr;
-
RX_STAT_INC(rx_pkts_all);
sc->debug.stats.rxstats.rx_bytes_all += rs->rs_datalen;
@@ -1068,9 +1066,11 @@ void ath_debug_stat_rx(struct ath_softc *sc, struct ath_rx_status *rs)
RX_STAT_INC(decrypt_busy_err);
if (rs->rs_status & ATH9K_RXERR_PHY) {
+ u32 phyerr;
RX_STAT_INC(phy_err);
- phyerr = rs->rs_phyerr & 0x24;
- RX_PHY_ERR_INC(phyerr);
+ phyerr = rs->rs_phyerr;
+ if (phyerr < ATH9K_PHYERR_MAX)
+ RX_PHY_ERR_INC(phyerr);
}
sc->debug.stats.rxstats.rs_rssi_ctl0 = rs->rs_rssi_ctl0;
--
1.7.4.1
On 02/23/2012 11:41 AM, Mohammed Shafi wrote:
> Hi Zefir,
>
> [...]
>
> very recently fixed by
> http://www.spinics.net/lists/linux-wireless/msg85034.html
>
Thanks, missed that one.
Hi Zefir,
On Thu, Feb 23, 2012 at 3:58 PM, Zefir Kurtisi
<[email protected]> wrote:
> ath9k_phyerr are defined as index but have been treated as bitmask
> (with an outdated mask used) for counting PHY errors in debugfs.
> ---
> ?drivers/net/wireless/ath/ath9k/debug.c | ? ?8 ++++----
> ?1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c
> index 68d972b..3be5b83 100644
> --- a/drivers/net/wireless/ath/ath9k/debug.c
> +++ b/drivers/net/wireless/ath/ath9k/debug.c
> @@ -1049,8 +1049,6 @@ void ath_debug_stat_rx(struct ath_softc *sc, struct ath_rx_status *rs)
> ?#define RX_SAMP_DBG(c) (sc->debug.bb_mac_samp[sc->debug.sampidx].rs\
> ? ? ? ? ? ? ? ? ? ? ? ?[sc->debug.rsidx].c)
>
> - ? ? ? u32 phyerr;
> -
> ? ? ? ?RX_STAT_INC(rx_pkts_all);
> ? ? ? ?sc->debug.stats.rxstats.rx_bytes_all += rs->rs_datalen;
>
> @@ -1068,9 +1066,11 @@ void ath_debug_stat_rx(struct ath_softc *sc, struct ath_rx_status *rs)
> ? ? ? ? ? ? ? ?RX_STAT_INC(decrypt_busy_err);
>
> ? ? ? ?if (rs->rs_status & ATH9K_RXERR_PHY) {
> + ? ? ? ? ? ? ? u32 phyerr;
> ? ? ? ? ? ? ? ?RX_STAT_INC(phy_err);
> - ? ? ? ? ? ? ? phyerr = rs->rs_phyerr & 0x24;
> - ? ? ? ? ? ? ? RX_PHY_ERR_INC(phyerr);
> + ? ? ? ? ? ? ? phyerr = rs->rs_phyerr;
> + ? ? ? ? ? ? ? if (phyerr < ATH9K_PHYERR_MAX)
> + ? ? ? ? ? ? ? ? ? ? ? RX_PHY_ERR_INC(phyerr);
> ? ? ? ?}
>
> ? ? ? ?sc->debug.stats.rxstats.rs_rssi_ctl0 = rs->rs_rssi_ctl0;
> --
very recently fixed by
http://www.spinics.net/lists/linux-wireless/msg85034.html
--
thanks,
shafi
On Thu, Feb 23, 2012 at 4:27 PM, Zefir Kurtisi
<[email protected]> wrote:
> On 02/23/2012 11:41 AM, Mohammed Shafi wrote:
>> Hi Zefir,
>>
>> [...]
>>
>> very recently fixed by
>> http://www.spinics.net/lists/linux-wireless/msg85034.html
>>
> Thanks, missed that one.
anyway, thanks for finding it!
--
thanks,
shafi