diff --git a/sys/mips/adm5120/if_admsw.c b/sys/mips/adm5120/if_admsw.c index 1f6a4b313d31..71971cdd7a8f 100644 --- a/sys/mips/adm5120/if_admsw.c +++ b/sys/mips/adm5120/if_admsw.c @@ -133,8 +133,6 @@ static int admsw_ioctl(struct ifnet *, u_long, caddr_t); static void admsw_init(void *); static void admsw_stop(struct ifnet *, int); -static void admsw_shutdown(void *); - static void admsw_reset(struct admsw_softc *); static void admsw_set_filter(struct admsw_softc *); @@ -153,6 +151,7 @@ static int admsw_intr(void *); static int admsw_probe(device_t dev); static int admsw_attach(device_t dev); static int admsw_detach(device_t dev); +static int admsw_shutdown(device_t dev); static void admsw_dma_map_addr(void *arg, bus_dma_segment_t *segs, int nseg, int error) @@ -571,14 +570,17 @@ admsw_detach(device_t dev) * * Make sure the interface is stopped at reboot time. */ -static void -admsw_shutdown(void *arg) +static int +admsw_shutdown(device_t dev) { - struct admsw_softc *sc = arg; + struct admsw_softc *sc; int i; + sc = device_get_softc(dev); for (i = 0; i < SW_DEVS; i++) admsw_stop(sc->sc_ifnet[i], 1); + + return (0); } /* diff --git a/sys/mips/idt/if_kr.c b/sys/mips/idt/if_kr.c index 45378b00c8d0..bbc800fd3e1d 100644 --- a/sys/mips/idt/if_kr.c +++ b/sys/mips/idt/if_kr.c @@ -89,7 +89,7 @@ static void kr_reset(struct kr_softc *); static int kr_resume(device_t); static int kr_rx_ring_init(struct kr_softc *); static int kr_tx_ring_init(struct kr_softc *); -static void kr_shutdown(device_t); +static int kr_shutdown(device_t); static void kr_start(struct ifnet *); static void kr_start_locked(struct ifnet *); static void kr_stop(struct kr_softc *); @@ -392,7 +392,7 @@ kr_resume(device_t dev) return 0; } -static void +static int kr_shutdown(device_t dev) { struct kr_softc *sc; @@ -402,6 +402,8 @@ kr_shutdown(device_t dev) KR_LOCK(sc); kr_stop(sc); KR_UNLOCK(sc); + + return (0); } static int