DF-3842 / fix.diff
--- a/sys/dev/netif/iwi/if_iwi.c +++ b/sys/dev/netif/iwi/if_iwi.c @@ -1636,7 +1636,7 @@ struct iwi_hdr *hdr; uint32_t hw; - hw = CSR_READ_4(sc, IWI_CSR_RX_RIDX); + hw = CSR_READ_4(sc, IWI_CSR_RX_RIDX) % IWI_RX_RING_COUNT; for (; sc->rxq.cur != hw;) { data = &sc->rxq.data[sc->rxq.cur]; @@ -1678,7 +1678,7 @@ struct iwi_tx_data *data; uint32_t hw; - hw = CSR_READ_4(sc, txq->csr_ridx); + hw = CSR_READ_4(sc, txq->csr_ridx) % IWI_TX_RING_COUNT; while (txq->next != hw) { data = &txq->data[txq->next]; |