This small patch correctly sets OACTIVE when an(4) gets backed up.  Right now 
I believe it will never set the flag.  It is only an optimization, it should 
not affect correctness.

Index: an/if_an.c
===================================================================
--- an/if_an.c  (revision 270968)
+++ an/if_an.c  (working copy)
@@ -2906,11 +2906,11 @@
                CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), AN_INTRS(sc->mpi350));
        }
 
-       if (m0 != NULL)
+       if (sc->an_rdata.an_tx_prod != idx) {
                ifp->if_drv_flags |= IFF_DRV_OACTIVE;
+               sc->an_rdata.an_tx_prod = idx;
+       }
 
-       sc->an_rdata.an_tx_prod = idx;
-
        return;
 }

-- 
John Baldwin
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to