Page MenuHomeFreeBSD

D60216.diff
No OneTemporary

D60216.diff

diff --git a/sys/dev/iavf/if_iavf_iflib.c b/sys/dev/iavf/if_iavf_iflib.c
--- a/sys/dev/iavf/if_iavf_iflib.c
+++ b/sys/dev/iavf/if_iavf_iflib.c
@@ -2225,14 +2225,19 @@
void
iavf_init_tx_cidx(struct iavf_vsi *vsi)
{
- if_softc_ctx_t scctx = vsi->shared;
struct iavf_tx_queue *tx_que;
int i;
for (i = 0, tx_que = vsi->tx_queues; i < vsi->num_tx_queues; i++, tx_que++) {
struct tx_ring *txr = &tx_que->txr;
- txr->tx_cidx_processed = scctx->isc_ntxd[0] - 1;
+ /*
+ * In head writeback mode the hardware reports the index of
+ * the next descriptor it will process. Start from 0, so
+ * that the first credits update does not count a descriptor
+ * that was never processed.
+ */
+ txr->tx_cidx_processed = 0;
}
}

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 3, 12:04 PM (4 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40113551
Default Alt Text
D60216.diff (745 B)

Event Timeline