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)