Move bus_teardown_intr() from wi_free() into wi_detach(). This is accidentally
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 31 Dec 2005 14:25:04 +0000 (14:25 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 31 Dec 2005 14:25:04 +0000 (14:25 +0000)
left out in rev1.34

sys/dev/netif/wi/if_wi.c

index 486ec4b..136f97c 100644 (file)
@@ -32,7 +32,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/wi/if_wi.c,v 1.166 2004/04/01 00:38:45 sam Exp $
- * $DragonFly: src/sys/dev/netif/wi/if_wi.c,v 1.34 2005/12/31 14:08:00 sephe Exp $
+ * $DragonFly: src/sys/dev/netif/wi/if_wi.c,v 1.35 2005/12/31 14:25:04 sephe Exp $
  */
 
 /*
@@ -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;