I am a bit confused. The first addition of sc->pending_txs = 0; was
MFC'ed back in December by obrien.

Check around line 730 of if_nv.c (or whatever it's called in 6.0)
        sc->linkup = 0;
        sc->cur_rx = 0;
        sc->pending_rxs = 0;
+       sc->pending_txs = 0;
This should mostly eliminate the problem.

The other patch cited in the message has never been made:
diff -u -r1.7.2.4 if_nve.c
--- if_nve.c    9 Oct 2005 04:18:17 -0000       1.7.2.4
+++ if_nve.c    27 Oct 2005 09:58:45 -0000
@@ -727,7 +727,7 @@

        DEBUGOUT(NVE_DEBUG_INIT, "nve: nve_init_rings - entry\n");

-       sc->cur_rx = sc->cur_tx = sc->pending_rxs = sc->pending_txs = 0;
+       sc->cur_rx = sc->cur_tx = sc->pending_rxs = 0;
        /* Initialise RX ring */
        for (i = 0; i < RX_RING_SIZE; i++) {
                struct nve_rx_desc *desc = sc->rx_desc + i;


So sc->pending_txs should only be reset to zero only in nve_stop but not
in nve_init_rings? 
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: [EMAIL PROTECTED]                       Phone: +1 510 486-8634
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to