On Mon, 24 Nov 2014, Benjamin Tissoires wrote: > > Current driver uses a common buffer for reading reports either > > synchronously in i2c_hid_get_raw_report() and asynchronously in > > the interrupt handler. > > There is race condition if an interrupt arrives immediately after > > the report is received in i2c_hid_get_raw_report(); the common > > buffer is modified by the interrupt handler with the new report > > and then i2c_hid_get_raw_report() proceed using wrong data. > > > > Fix it by using a separate buffers for synchronous reports. > > > > Signed-off-by: Jean-Baptiste Maneyrol <jmaneyrol@xxxxxxxxxxxxxx> > > [Antonio Borneo: cleanup, rebase to v3.17, submit mainline] > > Signed-off-by: Antonio Borneo <borneo.antonio@xxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx > > --- > > V1 -> V2 > > rename the synchronous buffer as rawbuf (instead of the > > asynchronous one) > > Sorry for the lag and thanks for resubmitting. > > This one is reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Applied, thanks. -- 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