Hi Alan,

On Wednesday 18 July 2012 10:59:41 Alan Stern wrote:
> On Wed, 18 Jul 2012, Laurent Pinchart wrote:
> > When a whole class of devices (possibly from a specific vendor, or
> > across multiple vendors) require a quirk, explictly listing all devices
> > in the class make the quirks table unnecessarily large. Fix this by
> > allowing matching devices based on interface information.
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> > 
> > 
> > --- a/drivers/usb/core/hub.c
> > +++ b/drivers/usb/core/hub.c
> > @@ -2170,6 +2170,8 @@ int usb_new_device(struct usb_device *udev)
> > 
> >     udev->dev.devt = MKDEV(USB_DEVICE_MAJOR,
> >     
> >                     (((udev->bus->busnum-1) * 128) + (udev->devnum-1)));
> > 
> > +   usb_detect_interface_quirks(udev);
> > +
> 
> This is not good, because it ignores usb_authorize_device().  That's
> why I said earlier that the interface quirks should be detected at the
> end of usb_enumerate_device().

My bad, sorry.

Is there any chance the device can return different descriptors in separate 
usb_authorize_device() calls, leading to different quirks ?

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to