{"push_id":734516381,"size":1,"distinct_size":1,"ref":"refs/heads/lollipop_staging","head":"4b5cadd101c468d9cef77fc2d22f169b70642582","before":"1f0b2e10792348ce01e39a8b7e38ea23301684de","commits":[{"sha":"4b5cadd101c468d9cef77fc2d22f169b70642582","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@aqwary.com","name":"Simon Lindgren"},"message":"i2c: at91: Fix a race condition during signal handling in at91_do_twi_xfer.\n\ncommit 6721f28a26efd6368497abbdef5dcfc59608d899 upstream.\n\nThere is a race condition in at91_do_twi_xfer when signals arrive.\nIf a signal is recieved while waiting for a transfer to complete\nwait_for_completion_interruptible_timeout() will return -ERESTARTSYS.\nThis is not handled correctly resulting in interrupts still being\nenabled and a transfer being in flight when we return.\n\nSymptoms include a range of oopses and bus lockups. Oopses can happen\nwhen the transfer completes because the interrupt handler will corrupt\nthe stack. If a new transfer is started before the interrupt fires\nthe controller will start a new transfer in the middle of the old one,\nresulting in confused slaves and a locked bus.\n\nTo avoid this, use wait_for_completion_io_timeout instead so that we\ndon't have to deal with gracefully shutting down the transfer and\ndisabling the interrupts.\n\nSigned-off-by: Simon Lindgren <simon@aqwary.com>\nAcked-by: Ludovic Desroches <ludovic.desroches@atmel.com>\nSigned-off-by: Wolfram Sang <wsa@the-dreams.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Starship-Android/android_kernel_moto_shamu/commits/4b5cadd101c468d9cef77fc2d22f169b70642582"}]}