diff --git a/sys/dev/usb/umidi.c b/sys/dev/usb/umidi.c index 6f8f8397e144..82474fad636b 100644 --- a/sys/dev/usb/umidi.c +++ b/sys/dev/usb/umidi.c @@ -747,8 +747,12 @@ free_all_endpoints(struct umidi_softc *sc) return; } - for (i=0; isc_in_num_endpoints+sc->sc_out_num_endpoints; i++) + for (i=0; isc_in_num_endpoints+sc->sc_out_num_endpoints; i++) { + KASSERTMSG(sc->sc_endpoints[i].pipe != NULL, + "i=%d nin=%d nout=%d", + i, sc->sc_in_num_endpoints, sc->sc_out_num_endpoints); free_pipe(&sc->sc_endpoints[i]); + } kmem_free(sc->sc_endpoints, sc->sc_endpoints_len); sc->sc_endpoints = sc->sc_out_ep = sc->sc_in_ep = NULL; }