mirror of
https://github.com/torvalds/linux
synced 2024-10-12 06:16:26 +00:00
ath9k: Fix RX packet counter
Handle chained descriptors and increment the RX counter only for valid packets. Since this is used only by MCI, use CONFIG_ATH9K_BTCOEX_SUPPORT. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5e85a32aca
commit
a5525d9c82
|
@ -1119,6 +1119,13 @@ static int ath9k_rx_skb_preprocess(struct ath_softc *sc,
|
||||||
rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL;
|
rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL;
|
||||||
|
|
||||||
sc->rx.discard_next = false;
|
sc->rx.discard_next = false;
|
||||||
|
|
||||||
|
#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
|
||||||
|
if (ieee80211_is_data_present(hdr->frame_control) &&
|
||||||
|
!ieee80211_is_qos_nullfunc(hdr->frame_control))
|
||||||
|
sc->rx.num_pkts++;
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1267,10 +1274,6 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
|
||||||
hdr = (struct ieee80211_hdr *) (hdr_skb->data +
|
hdr = (struct ieee80211_hdr *) (hdr_skb->data +
|
||||||
ah->caps.rx_status_len);
|
ah->caps.rx_status_len);
|
||||||
|
|
||||||
if (ieee80211_is_data_present(hdr->frame_control) &&
|
|
||||||
!ieee80211_is_qos_nullfunc(hdr->frame_control))
|
|
||||||
sc->rx.num_pkts++;
|
|
||||||
|
|
||||||
rxs = IEEE80211_SKB_RXCB(hdr_skb);
|
rxs = IEEE80211_SKB_RXCB(hdr_skb);
|
||||||
memset(rxs, 0, sizeof(struct ieee80211_rx_status));
|
memset(rxs, 0, sizeof(struct ieee80211_rx_status));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue