On Thu, May 8, 2014 at 9:26 AM, Archana Patni <archana.patni@xxxxxxxxxxxxxxx> wrote: > Reading the partial HID Descriptor is causing a firmware lockup in some > sensor hubs. Instead of a partial read, this patch implements the > i2c hid fetch using a fixed descriptor size (30 bytes) followed by a > verification of the BCDVersion (V01.00), and value stored in > wHIDDescLength (30 Bytes) for V1.00 descriptors. > > As per i2c hid spec, this is the preferred model. > > From hid-over-i2c-protocol-spec-v1-0: > > There are a variety of ways a HOST may choose to retrieve > the HID Descriptor from the DEVICE. The following is a preferred > implementation but should not be considered the only implementation. > A HOST may read the entire HID Descriptor in a single read by > issuing a read for 30 Bytes to get the entire HID Descriptor > from the DEVICE.However, the HOST is responsible for validating that > > 1. The BCDVersion is V01.00 (later revisions may have different > descriptor lengths), and > > 2. The value stored in wHIDDescLength is 30 (Bytes) for V1.00 > descriptors. > > Reported-by: Joe Tijerina <joe.tijerina@xxxxxx> > Signed-off-by: Archana Patni <archana.patni@xxxxxxxxx> > Signed-off-by: Subramony Sesha <subramony.sesha@xxxxxxxxx> > Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > --- This one is Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Cheers, Benjamin -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html