--- src/sys/dev/netif/wi/if_wi.c 2005/12/31 14:08:00 1.34 +++ src/sys/dev/netif/wi/if_wi.c 2005/12/31 14:25:04 1.35 @@ -511,6 +511,7 @@ wi_detach(device_t dev) /* check if device was removed */ sc->wi_gone |= !bus_child_present(dev); wi_stop(ifp, 0); + bus_teardown_intr(dev, sc->irq, sc->wi_intrhand); lwkt_serialize_exit(ifp->if_serializer); @@ -2814,10 +2815,6 @@ wi_free(device_t dev) { struct wi_softc *sc = device_get_softc(dev); - if (sc->wi_intrhand != NULL) { - bus_teardown_intr(dev, sc->irq, sc->wi_intrhand); - sc->wi_intrhand = NULL; - } if (sc->iobase != NULL) { bus_release_resource(dev, SYS_RES_IOPORT, sc->iobase_rid, sc->iobase); sc->iobase = NULL;