Hi Greg, Following you have two fixes to the MUSB driver. Both a long standing bugs on that driver: first a missing negative sign when comparing error codes and second a mis-use of a HW feature. The following changes since commit d6d0f665ad869c8ad8b8a42c4393e02dfe227e12: MAINTAINERS: add a maintainer to Gadget Framework (2011-06-08 14:05:04 -0700) are available in the git repository at: master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb.git for-greg MÃrton NÃmeth (1): usb: musb: host: compare status for negative error values Yauheni Kaliuta (1): usb: musb: gadget: clear TXPKTRDY flag when set FLUSHFIFO drivers/usb/musb/musb_gadget.c | 6 ++++++ drivers/usb/musb/musb_host.c | 2 +- 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c index 0a50a35..6aeb363 100644 --- a/drivers/usb/musb/musb_gadget.c +++ b/drivers/usb/musb/musb_gadget.c @@ -1524,6 +1524,12 @@ static void musb_gadget_fifo_flush(struct usb_ep *ep) csr = musb_readw(epio, MUSB_TXCSR); if (csr & MUSB_TXCSR_FIFONOTEMPTY) { csr |= MUSB_TXCSR_FLUSHFIFO | MUSB_TXCSR_P_WZC_BITS; + /* + * Setting both TXPKTRDY and FLUSHFIFO makes controller + * to interrupt current FIFO loading, but not flushing + * the already loaded ones. + */ + csr &= ~MUSB_TXCSR_TXPKTRDY; musb_writew(epio, MUSB_TXCSR, csr); /* REVISIT may be inappropriate w/o FIFONOTEMPTY ... */ musb_writew(epio, MUSB_TXCSR, csr); diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 7295e31..8b2473f 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -1575,7 +1575,7 @@ void musb_host_rx(struct musb *musb, u8 epnum) /* even if there was an error, we did the dma * for iso_frame_desc->length */ - if (d->status != EILSEQ && d->status != -EOVERFLOW) + if (d->status != -EILSEQ && d->status != -EOVERFLOW) d->status = 0; if (++qh->iso_idx >= urb->number_of_packets) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html