Re: usb:gadget:f_uac2: EP OUT is adaptive instead of async

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 06, 2020 at 02:22:47PM +0100, Pavel Hofman wrote:
> Hi,
> 
> The existing UAC2 implementation presents itself as asynchronous
> USB_ENDPOINT_SYNC_ASYNC https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L276
> + https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L285
> .
> 
> However:
> 1) The function does not define any feedback endpoint
> 
> 2) IMO in reality it is adaptive - the g_audio capture device accepts any
> data passed by the USB host, the USB host is the one which defines the data
> pace.
> 
> While Linux and reportedly OSX accept the async EP OUT without explicit
> feedback EP IN, Windows does not.
> 
> Simply changing USB_ENDPOINT_SYNC_ASYNC to USB_ENDPOINT_SYNC_ADAPTIVE for
> the FS and HS output endpoints fixes the windows problem and IMO corrects
> the config to reflect real function.
> 
> There are multiple projects underway adding the async feedback EP, but in
> the meantime I think the .bmAttributes information should be changed as
> above, making the device usable in Windows for everyone.
> 
> Thanks a lot for considering.

Patches work best, can you create them and test and then submit?

thanks,

greg k-h



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux