Index: ubtbcmfw.c =================================================================== RCS file: /usr/local/cvs/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c,v retrieving revision 1.1 diff -u -5 -r1.1 ubtbcmfw.c --- ubtbcmfw.c 27 Apr 2003 00:20:15 -0000 1.1 +++ ubtbcmfw.c 6 May 2003 02:30:36 -0000 @@ -232,20 +232,10 @@ usbd_abort_pipe(sc->sc_bulk_out_pipe); usb_detach_wait(USBDEV(sc->sc_dev)); } - if (sc->sc_intr_in_pipe != NULL) { - usbd_close_pipe(sc->sc_intr_in_pipe); - sc->sc_intr_in_pipe = NULL; - } - - if (sc->sc_bulk_out_pipe != NULL) { - usbd_close_pipe(sc->sc_bulk_out_pipe); - sc->sc_intr_in_pipe = NULL; - } - /* Destroy device nodes */ if (sc->sc_bulk_out_dev != NODEV) { vp = SLIST_FIRST(&sc->sc_bulk_out_dev->si_hlist); if (vp != NULL) VOP_REVOKE(vp, REVOKEALL); @@ -268,10 +258,21 @@ if (vp != NULL) VOP_REVOKE(vp, REVOKEALL); destroy_dev(sc->sc_ctrl_dev); sc->sc_ctrl_dev = NODEV; + } + + /* Close pipes */ + if (sc->sc_intr_in_pipe != NULL) { + usbd_close_pipe(sc->sc_intr_in_pipe); + sc->sc_intr_in_pipe = NULL; + } + + if (sc->sc_bulk_out_pipe != NULL) { + usbd_close_pipe(sc->sc_bulk_out_pipe); + sc->sc_intr_in_pipe = NULL; } return (0); }