usb: gadget: f_uac1.c Incorrect descriptor

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

 



Hi,

Hope this is the right place to mention/post this; I'm new to this. As a
point of reference, I'm running uClinux on a bf609-ezkit that is based on
3.10, but from what I can tell this hasn't been changed/fixed since 3.10 yet
and applies in general.

As per section 4.3.2 of Universal Serial Bus Device Class Definition for
Audio Devices (audio10.pdf), and section B.3.3.2 by example, the
bInCollection field of the Class-Specific AudioControl (AC) Interface Header
Descriptor is the number of AudioStreaming (AS) and MIDIStreaming (MS)
interfaces for the given AC interface. Similarly, the baInterfaceNr
collection is only to list the AS and MS interfaces.

In f_uac1.c, the AC header descriptor states that it has 2 interfaces in its
collection, one of those being the AC interface itself. This, at least,
causes Windows 7 to not enumerate the device correctly. Changing the
relative lines to make is only have 1 interface listed fixes enumeration on
Windows 7. (I know I should provide a patch for this, but I'm still reading
up on the proper way to submit these).

Interface numbering should be dynamic. Currently, the value(s) in the
baInterfaceNr collection are not updated when retrieved in f_audio_bind(). I
have not tried this myself yet, but should be easy to implement/understand.

If this all makes sense, I'll post a patch here (anywhere else, too?).

Thanks,

Ken

--
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




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

  Powered by Linux