mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-01 08:27:59 +00:00
Clear RX completion queue state veriables in iflib_stop()
iflib_stop() was not resetting the rxq completion queue state variables. This meant that for any driver that has receive completion queues, after a reinit, iflib would start asking what's available on the rx side starting at whatever the completion queue index was prior to the stop, instead of at 0. Submitted by: pkelsey Reported by: pkelsey MFC after: 3 days Sponsored by: Limelight Networks
This commit is contained in:
parent
905837ebe7
commit
0efb1a464f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=340445
@ -2414,6 +2414,7 @@ iflib_stop(if_ctx_t ctx)
|
||||
for (i = 0; i < scctx->isc_nrxqsets; i++, rxq++) {
|
||||
/* make sure all transmitters have completed before proceeding XXX */
|
||||
|
||||
rxq->ifr_cq_gen = rxq->ifr_cq_cidx = rxq->ifr_cq_pidx = 0;
|
||||
for (j = 0, di = rxq->ifr_ifdi; j < sctx->isc_nrxqs; j++, di++)
|
||||
bzero((void *)di->idi_vaddr, di->idi_size);
|
||||
/* also resets the free lists pidx/cidx */
|
||||
|
Loading…
Reference in New Issue
Block a user