Hi, who does this need to go through? [it wasn't in last Greg's 2.6.30rc4 bunch and I didn't see a mail about it being added to the stack] Do I need to resend it? Just to make sure it hasn't been forgotten. If all is OK sorry for the noise. Martin David Brownell wrote: > On Friday 01 May 2009, Martin Fuzzey wrote: > >> usbtest #14 was failing with "udc: ep0: TXCOMP: Invalid endpoint state 2, halting endpoint..." >> This occured since ep0 is bidirectional and ep->is_in is not valid (must always use ep->state) >> >> Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxx> >> > > Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > Acked-by: Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> > > ... for 2.6.30, ditto the kzalloc patch. > > >> --- >> >> drivers/usb/gadget/atmel_usba_udc.c | 3 ++- >> 1 files changed, 2 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c >> index 563d572..5644897 100644 >> --- a/drivers/usb/gadget/atmel_usba_udc.c >> +++ b/drivers/usb/gadget/atmel_usba_udc.c >> @@ -794,7 +794,8 @@ usba_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags) >> if (ep->desc) { >> list_add_tail(&req->queue, &ep->queue); >> >> - if (ep->is_in || (ep_is_control(ep) >> + if ((!ep_is_control(ep) && ep->is_in) || >> + (ep_is_control(ep) >> && (ep->state == DATA_STAGE_IN >> || ep->state == STATUS_STAGE_IN))) >> usba_ep_writel(ep, CTL_ENB, USBA_TX_PK_RDY); >> >> >> -- 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