Index: sys/dev/usb/controller/musb_otg.c =================================================================== --- sys/dev/usb/controller/musb_otg.c +++ sys/dev/usb/controller/musb_otg.c @@ -418,8 +418,8 @@ DPRINTFN(1, "ep_no=%d\n", td->channel); - /* select endpoint 0 */ - MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, 0); + /* select endpoint */ + MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, td->channel); /* read out FIFO status */ csr = MUSB2_READ_1(sc, MUSB2_REG_TXCSRL); @@ -544,8 +544,8 @@ DPRINTFN(1, "ep_no=%d\n", td->channel); - /* select endpoint 0 */ - MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, 0); + /* select endpoint */ + MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, td->channel); /* read out FIFO status */ csr = MUSB2_READ_1(sc, MUSB2_REG_TXCSRL); @@ -916,8 +916,8 @@ DPRINTFN(1, "ep_no=%d\n", td->channel); - /* select endpoint 0 */ - MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, 0); + /* select endpoint */ + MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, td->channel); /* read out FIFO status */ csr = MUSB2_READ_1(sc, MUSB2_REG_TXCSRL); @@ -1096,7 +1096,7 @@ DPRINTFN(1, "ep_no=%d\n", td->channel); /* select endpoint */ - MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, 0); + MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, td->channel); /* read out FIFO status */ csr = MUSB2_READ_1(sc, MUSB2_REG_TXCSRL); @@ -1305,8 +1305,8 @@ DPRINTFN(1, "ep_no=%d\n", td->channel); - /* select endpoint 0 */ - MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, 0); + /* select endpoint */ + MUSB2_WRITE_1(sc, MUSB2_REG_EPINDEX, td->channel); if (!td->transaction_started) { MUSB2_WRITE_1(sc, MUSB2_REG_RXFADDR(0),