summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/dc/if_dc.c10
-rw-r--r--sys/pci/if_dc.c10
2 files changed, 14 insertions, 6 deletions
diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c
index 2aa4e33..23a2243 100644
--- a/sys/dev/dc/if_dc.c
+++ b/sys/dev/dc/if_dc.c
@@ -1557,9 +1557,6 @@ dc_setcfg(sc, media)
}
}
- if (DC_IS_ADMTEK(sc))
- DC_SETBIT(sc, DC_AL_CR, DC_AL_CR_ATUR);
-
if ((media & IFM_GMASK) == IFM_FDX) {
DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_FULLDUPLEX);
if (sc->dc_pmode == DC_PMODE_SYM && DC_IS_PNIC(sc))
@@ -2245,6 +2242,13 @@ dc_attach(dev)
DELAY(10);
}
+ if (DC_IS_ADMTEK(sc)) {
+ /*
+ * Set automatic TX underrun recovery for the ADMtek chips
+ */
+ DC_SETBIT(sc, DC_AL_CR, DC_AL_CR_ATUR);
+ }
+
/*
* Tell the upper layer(s) we support long frames.
*/
diff --git a/sys/pci/if_dc.c b/sys/pci/if_dc.c
index 2aa4e33..23a2243 100644
--- a/sys/pci/if_dc.c
+++ b/sys/pci/if_dc.c
@@ -1557,9 +1557,6 @@ dc_setcfg(sc, media)
}
}
- if (DC_IS_ADMTEK(sc))
- DC_SETBIT(sc, DC_AL_CR, DC_AL_CR_ATUR);
-
if ((media & IFM_GMASK) == IFM_FDX) {
DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_FULLDUPLEX);
if (sc->dc_pmode == DC_PMODE_SYM && DC_IS_PNIC(sc))
@@ -2245,6 +2242,13 @@ dc_attach(dev)
DELAY(10);
}
+ if (DC_IS_ADMTEK(sc)) {
+ /*
+ * Set automatic TX underrun recovery for the ADMtek chips
+ */
+ DC_SETBIT(sc, DC_AL_CR, DC_AL_CR_ATUR);
+ }
+
/*
* Tell the upper layer(s) we support long frames.
*/
OpenPOWER on IntegriCloud