|
@@ -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;
|