|
@@ -744,6 +744,7 @@ static struct ath_buf *ath_get_next_rx_buf(struct ath_softc *sc,
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
+ list_del(&bf->list);
|
|
|
if (!bf->bf_mpdu)
|
|
|
return bf;
|
|
|
|
|
@@ -1254,14 +1255,15 @@ requeue_drop_frag:
|
|
|
sc->rx.frag = NULL;
|
|
|
}
|
|
|
requeue:
|
|
|
+ list_add_tail(&bf->list, &sc->rx.rxbuf);
|
|
|
+ if (flush)
|
|
|
+ continue;
|
|
|
+
|
|
|
if (edma) {
|
|
|
- list_add_tail(&bf->list, &sc->rx.rxbuf);
|
|
|
ath_rx_edma_buf_link(sc, qtype);
|
|
|
} else {
|
|
|
- list_move_tail(&bf->list, &sc->rx.rxbuf);
|
|
|
ath_rx_buf_link(sc, bf);
|
|
|
- if (!flush)
|
|
|
- ath9k_hw_rxena(ah);
|
|
|
+ ath9k_hw_rxena(ah);
|
|
|
}
|
|
|
} while (1);
|
|
|
|