summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/dc/if_dc.c13
-rw-r--r--sys/pci/if_dc.c13
2 files changed, 18 insertions, 8 deletions
diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c
index 1b069c7..039f835 100644
--- a/sys/dev/dc/if_dc.c
+++ b/sys/dev/dc/if_dc.c
@@ -2765,10 +2765,15 @@ static void dc_init(xsc)
(void)splx(s);
- if (sc->dc_flags & DC_21143_NWAY)
- sc->dc_stat_ch = timeout(dc_tick, sc, hz/10);
- else
- sc->dc_stat_ch = timeout(dc_tick, sc, hz);
+ /* Don't start the ticker if this is a homePNA link. */
+ if (IFM_SUBTYPE(mii->mii_media.ifm_media) == IFM_homePNA)
+ sc->dc_link = 1;
+ else {
+ if (sc->dc_flags & DC_21143_NWAY)
+ sc->dc_stat_ch = timeout(dc_tick, sc, hz/10);
+ else
+ sc->dc_stat_ch = timeout(dc_tick, sc, hz);
+ }
#ifdef __alpha__
if(sc->dc_srm_media) {
diff --git a/sys/pci/if_dc.c b/sys/pci/if_dc.c
index 1b069c7..039f835 100644
--- a/sys/pci/if_dc.c
+++ b/sys/pci/if_dc.c
@@ -2765,10 +2765,15 @@ static void dc_init(xsc)
(void)splx(s);
- if (sc->dc_flags & DC_21143_NWAY)
- sc->dc_stat_ch = timeout(dc_tick, sc, hz/10);
- else
- sc->dc_stat_ch = timeout(dc_tick, sc, hz);
+ /* Don't start the ticker if this is a homePNA link. */
+ if (IFM_SUBTYPE(mii->mii_media.ifm_media) == IFM_homePNA)
+ sc->dc_link = 1;
+ else {
+ if (sc->dc_flags & DC_21143_NWAY)
+ sc->dc_stat_ch = timeout(dc_tick, sc, hz/10);
+ else
+ sc->dc_stat_ch = timeout(dc_tick, sc, hz);
+ }
#ifdef __alpha__
if(sc->dc_srm_media) {
OpenPOWER on IntegriCloud