-ksaihr
--- /usr/src/sys/pci/if_dc.c Sun Oct 24 13:09:28 2004 +++ if_dc.c Sun Oct 24 12:59:07 2004 @@ -3022,6 +3022,16 @@ } }
+ if (DC_IS_LINKSYS(sc)) {
+ /*
+ * The Linksys PCM200 fails into store and forward mode very quickly,
+ * so instead of waiting, start it there.
+ */
+ printf("dc%d: setting card to store and forward mode\n", sc->dc_unit);
+ DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_STORENFWD);
+ }
+
+
printf("dc%d: TX underrun -- ", sc->dc_unit);
sc->dc_txthresh += DC_TXTHRESH_INC;
if (sc->dc_txthresh > DC_TXTHRESH_MAX) {
--- /usr/src/sys/pci/if_dcreg.h Thu Aug 5 13:46:14 2004 +++ if_dcreg.h Sun Oct 24 13:09:31 2004 @@ -98,6 +98,13 @@ #define DC_IS_XIRCOM(x) (x->dc_type == DC_TYPE_XIRCOM) #define DC_IS_CONEXANT(x) (x->dc_type == DC_TYPE_CONEXANT)
+/* Cards requiring specific workaround */ + /* Linksys PCM200 */ +#define DC_IS_LINKSYS(x) \ + (x->dc_type == DC_TYPE_AN985 && \ + pci_get_vendor(dev) == DC_VENDORID_LINKSYS && \ + pci_get_device(dev) == DC_DEVICEID_PCM200_AB08) + /* MII/symbol mode port types */ #define DC_PMODE_MII 0x1 #define DC_PMODE_SYM 0x2
_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"