diff options
-rw-r--r-- | sys/dev/dc/if_dc.c | 13 | ||||
-rw-r--r-- | sys/pci/if_dc.c | 13 |
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) { |