aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index d4df98a938bf..01c3ba47a5b9 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -744,6 +744,7 @@ static struct ath_buf *ath_get_next_rx_buf(struct ath_softc *sc,
744 return NULL; 744 return NULL;
745 } 745 }
746 746
747 list_del(&bf->list);
747 if (!bf->bf_mpdu) 748 if (!bf->bf_mpdu)
748 return bf; 749 return bf;
749 750
@@ -1254,14 +1255,15 @@ requeue_drop_frag:
1254 sc->rx.frag = NULL; 1255 sc->rx.frag = NULL;
1255 } 1256 }
1256requeue: 1257requeue:
1258 list_add_tail(&bf->list, &sc->rx.rxbuf);
1259 if (flush)
1260 continue;
1261
1257 if (edma) { 1262 if (edma) {
1258 list_add_tail(&bf->list, &sc->rx.rxbuf);
1259 ath_rx_edma_buf_link(sc, qtype); 1263 ath_rx_edma_buf_link(sc, qtype);
1260 } else { 1264 } else {
1261 list_move_tail(&bf->list, &sc->rx.rxbuf);
1262 ath_rx_buf_link(sc, bf); 1265 ath_rx_buf_link(sc, bf);
1263 if (!flush) 1266 ath9k_hw_rxena(ah);
1264 ath9k_hw_rxena(ah);
1265 } 1267 }
1266 } while (1); 1268 } while (1);
1267 1269