summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-11-04 17:58:45 +0100
committerJohn W. Linville <linville@tuxdriver.com>2009-11-11 23:09:07 +0100
commit0a45da765e4bf5e8a7705266fa36e0f44787b0a1 (patch)
treea45ef59859b65b73a185e2ad18a191f9c711e61c
parentath9k: avoid the copy skb->cb on every RX'd skb (diff)
downloadlinux-0a45da765e4bf5e8a7705266fa36e0f44787b0a1.tar.xz
linux-0a45da765e4bf5e8a7705266fa36e0f44787b0a1.zip
ath9k: move the rx_stats->rs_datalen check to ath9k_rx_accept()
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 079361423efc..4420a5800bd6 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -100,6 +100,9 @@ static bool ath9k_rx_accept(struct ath_common *common,
hdr = (struct ieee80211_hdr *) skb->data;
fc = hdr->frame_control;
+ if (!rx_stats->rs_datalen)
+ return false;
+
if (rx_stats->rs_more) {
/*
* Frame spans multiple descriptors; this cannot happen yet
@@ -793,9 +796,6 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush)
if (flush)
goto requeue;
- if (!rx_stats->rs_datalen)
- goto requeue;
-
/* The status portion of the descriptor could get corrupted. */
if (sc->rx.bufsize < rx_stats->rs_datalen)
goto requeue;