Hi Herton,

On Thursday 04 June 2009 19:23:17 Herton Ronaldo Krzesinski wrote:
> Em Quinta-feira 04 Junho 2009, às 07:41:03, Laurent Pinchart escreveu:
> > Hi Herton,
> >
> > On Wednesday 03 June 2009 23:02:33 Herton Ronaldo Krzesinski wrote:
> > > Fix this by not failing entirely if we have found an invalid format, as
> > > we can still have a valid format. The initial problem and solution
> > > (patch) was debugged and done by Clevo (probably by Michael Wang),
> > > which uses the affected webcam in one of their laptops. I'm forwarding
> > > their fix plus additional code that I noticed to be needed for generic
> > > cases that decrements properly streaming->nformats and checks later if
> > > we really found at least one valid format, and if there were really no
> > > valid formats we make sure then to return with error.
> >
> > What about modifying uvc_parse_streaming() to stop parsing the interface
> > descriptors when it encounters a non CS Interface descriptor instead ?
> > Something like
>
> Yep, it works for me too and it's better since then we don't allocate extra
> memory that we don't use for streaming->format
>
> But your solution stops to count formats at the first buffer[1] !=
> CS_INTERFACE, is it possible that CS_INTERFACE and ! CS_INTERFACE are
> mixed? (!= CS_INTERFACE not always the last one) In this case is better to
> continue, like patch below:

In theory, yes, the device can be as buggy as you want :-) Don't forget that 
we're dealing with UVC devices here, so I don't expect buggy devices to be the 
norm. I'd rather apply my patch, as it's less intrusive, and deal with other 
buggy devices later if needed.

Best regards,

Laurent Pinchart

_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to