aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuel Vadot <manu@FreeBSD.org>2023-12-11 10:29:51 +0000
committerEmmanuel Vadot <manu@FreeBSD.org>2023-12-11 10:31:28 +0000
commitbd0771390ef532ce0ae3f39350acd540125e5620 (patch)
treebcae9318c32afd3e2c39c2f3a9d406e7eb3864b1
parent22029445cbef0ffc71196a6f38cee4738e9a6d0f (diff)
downloadsrc-bd0771390ef532ce0ae3f39350acd540125e5620.tar.gz
src-bd0771390ef532ce0ae3f39350acd540125e5620.zip
eqos: Call init earlier
Call the subclassed IF_EQOS_INIT before trying to read the mac, clocks and reset needs to dealt with before we can read the registers.
-rw-r--r--sys/dev/eqos/if_eqos.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/eqos/if_eqos.c b/sys/dev/eqos/if_eqos.c
index 0dc476acd520..75e3ca957b48 100644
--- a/sys/dev/eqos/if_eqos.c
+++ b/sys/dev/eqos/if_eqos.c
@@ -1119,6 +1119,9 @@ eqos_attach(device_t dev)
return (ENXIO);
}
+ if ((error = IF_EQOS_INIT(dev)))
+ return (error);
+
sc->dev = dev;
ver = RD4(sc, GMAC_MAC_VERSION);
userver = (ver & GMAC_MAC_VERSION_USERVER_MASK) >>
@@ -1142,10 +1145,6 @@ eqos_attach(device_t dev)
sc->hw_feature[2], sc->hw_feature[3]);
}
-
- if ((error = IF_EQOS_INIT(dev)))
- return (error);
-
mtx_init(&sc->lock, "eqos lock", MTX_NETWORK_LOCK, MTX_DEF);
callout_init_mtx(&sc->callout, &sc->lock, 0);