Re: [GIT PATCH] USB autosuspend fixes for 2.6.23-rc6

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

 



On Thu, 13 Sep 2007, Alan Stern wrote:

> > Btw, this is in no way just an AUTOSUSPEND issue. The USB layer has a 
> > *lot* of these quirks. They are often called "UNUSUAL_DEV()", but the 
> > thing is, some of those things seem to be so usual that the naming is 
> > dubious, and thus calling it a "quirk" or "unusual" is pretty dubious 
> > too.
> You have concentrated your attention on the list for usb-storage,
> but the usbhid driver also has an impressively long quirks list.

This is true. First, there are HID_QUIRK_RDESC_* quirks, which we use to 
fix up badly broken report descriptor of certain devices before it enters 
the HID parser. There is nothing much we can do about them - these are 
just workarounds for really broken devices that don't follow the HID 
specification, but we can easily fix the things on the fly. Usually, these 
devices are handled in Windows by specialized driver, but if we fix the 
descriptor, we can use usbhid to handle them.

For the rest of the HID quirks -- most of them are also workarounds for 
broken classess of devices. Usually, they claim to be HID-compliant device 
in their file descriptor, but they do not follow the spec (they send 
inverted axes values, send usage codes that violate the specification, 
etc), but we can easily work around these bugs by a few lines of code and 
let the devices to be handled by usbhid flawlessly. I guess this is worth 
it.

Probably the only quirk entry that might be considered to be removed is 
HID_QUIRK_NOGET, I'd say.

Thanks,

-- 
Jiri Kosina
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux