http://bugzilla.suse.com/show_bug.cgi?id=1159811
http://bugzilla.suse.com/show_bug.cgi?id=1159811#c11
--- Comment #11 from Roger Whittaker ---
Alan Stern then wrote:
-------------------------------------
I see what's going on. The endpoint in question is isochronous, and
the bAlternateSetting value is 0, which makes this the default
altsetting for that interface. The USB spec says (at the end of
section 5.6.3):
All device default interface settings must not include any
isochronous endpoints with non-zero data payload sizes
(specified via wMaxPacketSize in the endpoint descriptor).
Alternate interface settings may specify non-zero data payload
sizes for isochronous endpoints.
That explains why the maxpacket size is set to 0.
So it looks like the endpoint-descriptor parsing code might want to
make a special case to accept isochronous endpoints with maxpacket 0 if
bAlternateSetting is 0. But whether we do this or not, I would expect
the uvcvideo driver to look for isochronous endpoints in the alternate
settings it will actually use, not in altsetting 0. Then the presence
or absence of that endpoint descriptor would make no difference to
uvcvideo.
(Unless the UVC spec _requires_ these endpoint descriptors to be
present. If it does then we should simply change the core parsing code
and leave uvcvideo alone.)
-------------------------------------
--
You are receiving this mail because:
You are on the CC list for the bug.