ath9k: move the rx_stats->rs_datalen check to ath9k_rx_accept()
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Wed, 4 Nov 2009 16:58:45 +0000 (08:58 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 Nov 2009 22:09:07 +0000 (17:09 -0500)
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/recv.c

index 079361423efcfb3389724d04115e43e2fbedcb55..4420a5800bd6384e3b35f1878d075fde9f8528dd 100644 (file)
@@ -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;