On Sun, 5 Aug 2012, Marek Vasut wrote: > The Freescale i.MX28 BootROM USB recovery mode implements the USB HID > protocol, yet the global item tag report size is 128. Linux checks if > this is 96 as of now, see [1]. This causes Linux to refuse to communicate > with this device, making it impossible to use the recovery mode. > > This is not a standard HID device per se, but rather a software emulation > implemented within the BootROM code and realized through USB OTG-capable > port switched to device mode present on the device. > > Previous attempt to discuss this issue dates back to 2011, see [2]. There > has been not much response. Also noteworthy is the [3], where there seems > to be a pointing device that has issue similar to this one. > > The tool making use of the USB recovery mode is available at [4]. > > [1] http://comments.gmane.org/gmane.linux.kernel.input/22328 > [2] http://www.spinics.net/lists/linux-usb/msg43463.html > [3] https://bbs.archlinux.org/viewtopic.php?pid=1141340 > [4] http://git.bfuser.eu/?p=marex/mxsldr.git;a=summary > > Signed-off-by: Marek Vasut <marex@xxxxxxx> > Cc: Chen Peter <B29397@xxxxxxxxxxxxx> > Cc: Greg KH <greg@xxxxxxxxx> > Cc: Jiri Kosina <jkosina@xxxxxxx> I have not admit I don't remember where the original limit came from -- the spec doesn't mandate it as far as I can tell. I am queueing this patch now for next merge window. Thanks. > --- > drivers/hid/hid-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 60ea284..2b9dd76 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -374,7 +374,7 @@ static int hid_parser_global(struct hid_parser *parser, struct hid_item *item) > > case HID_GLOBAL_ITEM_TAG_REPORT_SIZE: > parser->global.report_size = item_udata(item); > - if (parser->global.report_size > 96) { > + if (parser->global.report_size > 128) { > hid_err(parser->device, "invalid report_size %d\n", > parser->global.report_size); > return -1; > -- > 1.7.10.4 > -- Jiri Kosina SUSE Labs -- 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