Richard W.M. Jones wrote:
The attached patch fixes USB audio support for the Jabra SPEAK 410 USB.
The problem, as I understand it, is that the device contains a Class-Specific Endpoint (CS_ENDPOINT) descriptor before the Endpoint (ENDPOINT) descriptor. The USB code all assumes that CS_ENDPOINT can only appear after ENDPOINT. Therefore the USB code divides up the interface descriptor into "stuff before ENDPOINT" (in interface->extra) and "stuff after ENDPOINT" (in interface->endpoint[0]->extra). For this device, this division does not work.
The solution (which is a hack ...) is to also search interface->extra looking for the missing descriptor.
The patch looks good. Please run it through checkpatch.pl and provice a Signed-off-by tag (see Documentation/SubmittingPatches).
Regards, Clemens