Hi, I'm no longer able to use g_webcam with uvc-gadget [1] since v4.9. Logs at the end. It looks like we're goofing up on the control endpoint. If I revert the following commit everything works fine. commit 4fbac5206afd01b717d4bdc58793d471f3391b4b Author: Petr Cvek <petr.cvek@xxxxxx> Date: Wed Aug 17 12:36:57 2016 +0200 usb: gadget: uvc: Add missing call for additional setup data Am I missing something on uvc-gadget side or is the commit really bad? >From what I understand, uvc-gadget is responsible for sending response to UVC class specific requests on control endpoint in uvc_send_response() in uvc_v4l2.c. So the reported commit is sending a duplicate response with probably improper data. [1] - git://git.ideasonboard.org/uvc-gadget.git -- cheers, -roger Logs: ----- #gadget side: open succeeded, file descriptor = 3 device is dwc3-gadget on bus gadget bRequestType a1 bRequest 87 wValue 0100 wIndex 0001 wLength 001a streaming request (req 87 [UVC_GET_DEF], cs 01) uvc_events_process: event 0x8000004, response length 34 bRequestType 21 bRequest 01 wValue 0100 wIndex 0001 wLength 001a streaming request (req 01 [UVC_SET_CUR], cs 01) uvc_events_process: event 0x8000004, response length 34 setting probe control, length = 26 bRequestType a1 bRequest 81 wValue 0100 wIndex 0001 wLength 001a streaming request (req 81 [UVC_GET_CUR], cs 01) uvc_events_process: event 0x8000004, response length 34 #Host side [27398.977099] usb 2-1.2: new high-speed USB device number 54 using ehci-pci [27399.072799] usb 2-1.2: New USB device found, idVendor=1d6b, idProduct=0102 [27399.072809] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [27399.072814] usb 2-1.2: Product: Webcam gadget [27399.072818] usb 2-1.2: Manufacturer: Linux Foundation [27399.097437] uvcvideo: Found UVC 1.00 device Webcam gadget (1d6b:0102) [27399.109341] input: Webcam gadget as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/input/input69 [27409.542335] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [27409.842264] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -110 (exp. 2). [27409.846363] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -71 (exp. 2). [27409.850602] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 2: -71 (exp. 2). [27442.242779] usb 2-1.2: reset high-speed USB device number 54 using ehci-pci [27442.326540] usb 2-1.2: device descriptor read/64, error -71 [27442.514512] usb 2-1.2: device descriptor read/64, error -71 [27442.690526] usb 2-1.2: reset high-speed USB device number 54 using ehci-pci [27442.774509] usb 2-1.2: device descriptor read/64, error -71 [27442.962526] usb 2-1.2: device descriptor read/64, error -71 [27443.138490] usb 2-1.2: reset high-speed USB device number 54 using ehci-pci [27443.554484] usb 2-1.2: device not accepting address 54, error -71 [27443.626516] usb 2-1.2: reset high-speed USB device number 54 using ehci-pci [27444.042433] usb 2-1.2: device not accepting address 54, error -71 [27444.045025] usb 2-1.2: USB disconnect, device number 54 [27444.154454] usb 2-1.2: new high-speed USB device number 55 using ehci-pci [27444.238442] usb 2-1.2: device descriptor read/64, error -71 [27444.426487] usb 2-1.2: device descriptor read/64, error -71 [27444.602429] usb 2-1.2: new high-speed USB device number 56 using ehci-pci [27444.686421] usb 2-1.2: device descriptor read/64, error -71 [27444.874416] usb 2-1.2: device descriptor read/64, error -71 [27445.050419] usb 2-1.2: new high-speed USB device number 57 using ehci-pci [27445.466363] usb 2-1.2: device not accepting address 57, error -71 [27445.538361] usb 2-1.2: new high-speed USB device number 58 using ehci-pci [27445.954311] usb 2-1.2: device not accepting address 58, error -71 [27445.956294] usb 2-1-port2: unable to enumerate USB device -- 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