Page MenuHomeFreeBSD

D17931.id.diff
No OneTemporary

D17931.id.diff

Index: head/sys/dev/e1000/em_txrx.c
===================================================================
--- head/sys/dev/e1000/em_txrx.c
+++ head/sys/dev/e1000/em_txrx.c
@@ -458,7 +458,13 @@
ntxd = scctx->isc_ntxd[0];
do {
delta = (int32_t)cur - (int32_t)prev;
+ /*
+ * XXX This appears to be a hack for first-packet.
+ * A correct fix would prevent prev == cur in the first place.
+ */
MPASS(prev == 0 || delta != 0);
+ if (prev == 0 && cur == 0)
+ delta += 1;
if (delta < 0)
delta += ntxd;
DPRINTF(iflib_get_dev(adapter->ctx),
Index: head/sys/dev/e1000/igb_txrx.c
===================================================================
--- head/sys/dev/e1000/igb_txrx.c
+++ head/sys/dev/e1000/igb_txrx.c
@@ -333,7 +333,13 @@
ntxd = scctx->isc_ntxd[0];
do {
delta = (int32_t)cur - (int32_t)prev;
+ /*
+ * XXX This appears to be a hack for first-packet.
+ * A correct fix would prevent prev == cur in the first place.
+ */
MPASS(prev == 0 || delta != 0);
+ if (prev == 0 && cur == 0)
+ delta += 1;
if (delta < 0)
delta += ntxd;

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 8, 4:15 AM (8 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23452506
Default Alt Text
D17931.id.diff (1 KB)

Event Timeline