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 <jmaney...@invensense.com> > > [Antonio Borneo: cleanup, rebase to v3.17, submit mainline] > > Signed-off-by: Antonio Borneo <borneo.anto...@gmail.com> > > Cc: sta...@vger.kernel.org > > --- > > 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.tissoi...@redhat.com>
Applied, thanks. -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/