ath9k: Fix RX debug statistics
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Wed, 14 Aug 2013 03:41:16 +0000 (09:11 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 15 Aug 2013 20:08:03 +0000 (16:08 -0400)
The various error bits that ath_debug_stat_rx()
checks are valid only for the last descriptor for
a chained packet, handle this correctly.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/recv.c

index e18adde..2d0017c 100644 (file)
@@ -1084,6 +1084,7 @@ static int ath9k_rx_skb_preprocess(struct ath_softc *sc,
                return 0;
 
        ath9k_process_tsf(rx_stats, rx_status, tsf);
+       ath_debug_stat_rx(sc, rx_stats);
 
        /*
         * Process PHY errors and return so that the packet
@@ -1270,8 +1271,6 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
                    !ieee80211_is_qos_nullfunc(hdr->frame_control))
                        sc->rx.num_pkts++;
 
-               ath_debug_stat_rx(sc, &rs);
-
                rxs = IEEE80211_SKB_RXCB(hdr_skb);
                memset(rxs, 0, sizeof(struct ieee80211_rx_status));