Index: sys/dev/usb/ucom.c =================================================================== RCS file: /cvsroot/src/sys/dev/usb/ucom.c,v retrieving revision 1.115 diff -u -p -r1.115 ucom.c --- sys/dev/usb/ucom.c 19 Nov 2016 09:49:20 -0000 1.115 +++ sys/dev/usb/ucom.c 28 Nov 2016 16:27:31 -0000 @@ -523,7 +523,6 @@ ucom_shutdown(struct ucom_softc *sc) UCOMHIST_FUNC(); UCOMHIST_CALLED(); - KASSERT(mutex_owned(&sc->sc_lock)); /* * Hang up if necessary. Wait a bit, so the other side has time to * notice even if we immediately open the port again. @@ -531,7 +530,7 @@ ucom_shutdown(struct ucom_softc *sc) if (ISSET(tp->t_cflag, HUPCL)) { ucom_dtr(sc, 0); /* XXX will only timeout */ - (void) kpause(ttclos, false, hz, &sc->sc_lock); + (void) kpause(ttclos, false, hz, NULL); } } @@ -1644,10 +1643,10 @@ ucom_cleanup(struct ucom_softc *sc) return; } - ucom_shutdown(sc); - mutex_exit(&sc->sc_lock); + ucom_shutdown(sc); + if (sc->sc_bulkin_pipe != NULL) { usbd_abort_pipe(sc->sc_bulkin_pipe); }