Hi, I separated the mclgeti part from the bugfixes for PNIC. Give it a try.

Thanks

Index: src/sys/dev/ic/dc.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/dc.c,v
retrieving revision 1.121
diff -u -p -r1.121 dc.c
--- src/sys/dev/ic/dc.c 7 Sep 2010 16:21:42 -0000       1.121
+++ src/sys/dev/ic/dc.c 14 Dec 2010 04:18:50 -0000
@@ -1224,7 +1224,7 @@ dc_setcfg(struct dc_softc *sc, int media
                }
 
                if (i == DC_TIMEOUT) {
-                       if (!(isr & DC_ISR_TX_IDLE) && !DC_IS_ASIX(sc))
+                       if (!(isr & DC_ISR_TX_IDLE) && !DC_IS_ASIX(sc) && 
!DC_IS_PNIC(sc))
                                printf("%s: failed to force tx to idle state\n",
                                    sc->sc_dev.dv_xname);
                        if (!((isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED ||
@@ -1792,9 +1792,11 @@ hasmac:
                ifmedia_add(&sc->sc_mii.mii_media, IFM_ETHER|IFM_NONE, 0, NULL);
                ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_NONE);
                printf("%s: MII without any PHY!\n", sc->sc_dev.dv_xname);
-       } else if (sc->dc_type == DC_TYPE_21145) {
+       } else if (sc->dc_type == DC_TYPE_21145)
                ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_10_T);
-       } else
+         else if (sc->dc_type == DC_TYPE_PNIC)
+               ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_10_T);
+         else
                ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER|IFM_AUTO);
 
        if (DC_IS_DAVICOM(sc) && sc->dc_revision >= DC_REVISION_DM9102A)

Reply via email to