[PATCH 0/9] Fix Marvell mv63xxx I2C driver
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu May 16 16:29:21 EDT 2013
This patch series fixes a whole chunk of problems with this driver,
discovered with the Marvell Armada 510 chip on the Solid-run cubox.
Most notable of these is the I2C driver aborting a transaction
because a signal is pending - which might be SIGPIPE or SIGALRM
for the process. Meanwhile, the calling driver may be in the
middle of a critical read-modify-write cycle on a device register,
causing it to fail.
Other problems are race conditions in the handling of multi-part
messages, where we end up sending multiple start conditions -
sometimes more times than we have i2c_msg's to send.
Lastly is the rather poor probe error handling, which ranges from
non-existent to lacking propagating the provided error code.
More information about the linux-arm-kernel