Hi, (please, don't top-post) JB <jbworld.central@xxxxxxxxx> writes: > [ text/plain ] > But that's it. On the host side, the device is detected for a brief > moment - I managed to get the device info, and it looks like the real > deal: > > Gadget Serial v2.4: > Product ID: 0xa4a7 > Vendor ID: 0x0525 (PLX Technology, Inc.) > Version: 4.05 > Speed: Up to 480 Mb/sec > Manufacturer: Linux 4.5.0+ with atmel_usba_udc 4.5.0+, which patches do you have on top of 4.5 vanilla ? Also, can you try this patch: commit d0211ef4d96e1faf8939af6b171e47e6d85e31b2 Author: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> Date: Mon Mar 21 09:04:23 2016 +0200 usb: gadget: udc: atmel: don't disable enpdoints we don't own UDC driver should NEVER do anything behind udc-core's back, so let's stop disabling endpoints we don't exactly own - rather we provide as resources for gadget drivers. This fixes the regression reported by Gil. Reported-by: Gil Weber <gil.weber@xxxxxxxxxxxxxxxxxxxxxxxxx> Tested-by: Gil Weber <gil.weber@xxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c index 81d42cce885a..18569de06b04 100644 --- a/drivers/usb/gadget/udc/atmel_usba_udc.c +++ b/drivers/usb/gadget/udc/atmel_usba_udc.c @@ -1045,20 +1045,6 @@ static void reset_all_endpoints(struct usba_udc *udc) list_del_init(&req->queue); request_complete(ep, req, -ECONNRESET); } - - /* NOTE: normally, the next call to the gadget driver is in - * charge of disabling endpoints... usually disconnect(). - * The exception would be entering a high speed test mode. - * - * FIXME remove this code ... and retest thoroughly. - */ - list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) { - if (ep->ep.desc) { - spin_unlock(&udc->lock); - usba_ep_disable(&ep->ep); - spin_lock(&udc->lock); - } - } } static struct usba_ep *get_ep_by_addr(struct usba_udc *udc, u16 wIndex) -- balbi
Attachment:
signature.asc
Description: PGP signature