diff options
| author | msaitoh <msaitoh@NetBSD.org> | 2019-03-05 02:13:15 +0000 |
|---|---|---|
| committer | msaitoh <msaitoh@NetBSD.org> | 2019-03-05 02:13:15 +0000 |
| commit | 44124f53fa47fc5ef08ccbb3fcbd16355642f97f (patch) | |
| tree | ab9472fedf438dbb49587ddb89124d4b3cada51c /sys/dev | |
| parent | 03bbc0809832cfc64ebef984c1dae5d64c95bfca (diff) | |
mii_phy_add_media() automatically install power handler, but if_media_add()
doesn't. When mii_phy_add_media() isn't used, call pmf_device_register().
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/mii/tlphy.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/sys/dev/mii/tlphy.c b/sys/dev/mii/tlphy.c index 16be5fc4d73..532ae1fac74 100644 --- a/sys/dev/mii/tlphy.c +++ b/sys/dev/mii/tlphy.c @@ -1,4 +1,4 @@ -/* $NetBSD: tlphy.c,v 1.64 2019/02/24 17:22:21 christos Exp $ */ +/* $NetBSD: tlphy.c,v 1.65 2019/03/05 02:13:15 msaitoh Exp $ */ /*- * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc. @@ -59,7 +59,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tlphy.c,v 1.64 2019/02/24 17:22:21 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tlphy.c,v 1.65 2019/03/05 02:13:15 msaitoh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -180,12 +180,19 @@ tlphyattach(device_t parent, device_t self, void *aux) if (sc->mii_capabilities & BMSR_MEDIAMASK) { aprint_normal("%s", sep); mii_phy_add_media(sc); - } else if ((tsc->sc_tlphycap & + } else { + if ((tsc->sc_tlphycap & (TLPHY_MEDIA_10_2 | TLPHY_MEDIA_10_5)) == 0) - aprint_error("no media present"); - else if (!pmf_device_register(self, NULL, mii_phy_resume)) { - aprint_normal("\n"); - aprint_error_dev(self, "couldn't establish power handler"); + aprint_error("no media present"); + /* + * mii_phy_add_media() automatically install power handler, + * but if_media_add() doesn't. Do it now. + */ + if (!pmf_device_register(self, NULL, mii_phy_resume)) { + aprint_normal("\n"); + aprint_error_dev(self, + "couldn't establish power handler"); + } } aprint_normal("\n"); #undef ADD |
