diff --git a/sys/dev/usb/umidi.c b/sys/dev/usb/umidi.c index 6f8f8397e144..55da6ee89e1b 100644 --- a/sys/dev/usb/umidi.c +++ b/sys/dev/usb/umidi.c @@ -725,7 +725,7 @@ alloc_all_endpoints(struct umidi_softc *sc) ep = sc->sc_endpoints; for (i = sc->sc_out_num_endpoints+sc->sc_in_num_endpoints; i > 0; i--) { - err = alloc_pipe(ep++); + err = alloc_pipe(ep); if (err != USBD_NORMAL_COMPLETION) { for (; ep != sc->sc_endpoints; ep--) free_pipe(ep-1); @@ -733,6 +733,7 @@ alloc_all_endpoints(struct umidi_softc *sc) sc->sc_endpoints = sc->sc_out_ep = sc->sc_in_ep = NULL; break; } + ep++; } return err; }