HAL_RX_QUEUE_LP
case HAL_RX_QUEUE_LP:
TAILQ_INIT(&sc->sc_rx_rxlist[HAL_RX_QUEUE_LP]);
if (sc->sc_rxedma[HAL_RX_QUEUE_LP].m_rxpending != NULL) {
m_freem(sc->sc_rxedma[HAL_RX_QUEUE_LP].m_rxpending);
sc->sc_rxedma[HAL_RX_QUEUE_LP].m_rxpending = NULL;
bf = sc->sc_rxedma[HAL_RX_QUEUE_LP].m_holdbf;
sc->sc_rxedma[HAL_RX_QUEUE_LP].m_holdbf = NULL;
ath_edma_rxfifo_free(sc, HAL_RX_QUEUE_LP);
if (sc->sc_rxedma[HAL_RX_QUEUE_LP].m_rxpending) {
m_freem(sc->sc_rxedma[HAL_RX_QUEUE_LP].m_rxpending);
sc->sc_rxedma[HAL_RX_QUEUE_LP].m_rxpending = NULL;
ath_edma_reinit_fifo(sc, HAL_RX_QUEUE_LP);
ath_edma_rxfifo_alloc(sc, HAL_RX_QUEUE_LP,
sc->sc_rxedma[HAL_RX_QUEUE_LP].m_fifolen);
ath_edma_recv_proc_queue(sc, HAL_RX_QUEUE_LP, dosched);
ath_edma_recv_proc_queue(sc, HAL_RX_QUEUE_LP, 0);
ath_edma_recv_proc_deferred_queue(sc, HAL_RX_QUEUE_LP, 0);
while (! TAILQ_EMPTY(&sc->sc_rx_rxlist[HAL_RX_QUEUE_LP])) {
bf = TAILQ_FIRST(&sc->sc_rx_rxlist[HAL_RX_QUEUE_LP]);
TAILQ_REMOVE(&sc->sc_rx_rxlist[HAL_RX_QUEUE_LP], bf, bf_list);
ath_edma_recv_proc_deferred_queue(sc, HAL_RX_QUEUE_LP, 1);
(void) ath_edma_setup_rxfifo(sc, HAL_RX_QUEUE_LP);
ath_edma_rxfifo_flush(sc, HAL_RX_QUEUE_LP);