aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2018-01-22 01:00:16 -0500
committerKalle Valo <kvalo@codeaurora.org>2018-01-25 00:30:49 -0500
commit3c0efb745a172bfe96459e20cbd37b0c945d5f8d (patch)
tree24c4444ab57333e7e93bb782d24716afd1a5f254
parentebdd7b491b8a65d65936e07004caabca4a3c94a0 (diff)
ath9k: discard undersized packets
Sometimes the hardware will push small packets that trigger a WARN_ON in mac80211. Discard them early to avoid this issue. Reported-by: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 2197aee2bb72..a8ac42c96d71 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -826,9 +826,9 @@ static int ath9k_rx_skb_preprocess(struct ath_softc *sc,
826 sc->rx.discard_next = false; 826 sc->rx.discard_next = false;
827 827
828 /* 828 /*
829 * Discard zero-length packets. 829 * Discard zero-length packets and packets smaller than an ACK
830 */ 830 */
831 if (!rx_stats->rs_datalen) { 831 if (rx_stats->rs_datalen < 10) {
832 RX_STAT_INC(rx_len_err); 832 RX_STAT_INC(rx_len_err);
833 goto corrupt; 833 goto corrupt;
834 } 834 }