linux/drivers/i2c
Doug Anderson 96219c3a25 i2c-tegra: fix possible race condition after tx
In tegra_i2c_fill_tx_fifo, once we have finished pushing all the bytes
to the I2C hardware controller, the interrupt might happen before we
have updated i2c_dev->msg_buf_remaining at the end of the function.
Then, in tegra_i2c_isr, we will call again tegra_i2c_fill_tx_fifo
triggering weird behaviour. This has been shown to happen under real
conditions.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Acked-by: Rhyland Klein <rklein@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2011-09-07 00:13:40 +01:00
..
algos i2c-algo-bit: Call pre/post_xfer for bit_test 2011-04-17 10:20:19 +02:00
busses i2c-tegra: fix possible race condition after tx 2011-09-07 00:13:40 +01:00
muxes i2c/pca954x: Initialize the mux to disconnected state 2011-06-29 11:36:11 +02:00
i2c-boardinfo.c i2c-boardinfo: Fix typo in comment 2011-03-20 14:50:52 +01:00
i2c-core.c i2c: Allow i2c_add_numbered_adapter() to assign a bus id 2011-07-25 17:49:43 +02:00
i2c-core.h i2c: Use rwsem instead of mutex for board info 2009-06-19 16:58:20 +02:00
i2c-dev.c i2c-dev: Use standard bus notification mechanism 2011-03-20 14:50:52 +01:00
i2c-mux.c i2c: Mark i2c_adapter.id as deprecated 2010-11-15 22:40:38 +01:00
i2c-smbus.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
Kconfig doc: Kconfig: Typo: square -> squared 2011-07-11 14:22:32 +02:00
Makefile i2c: Deprecate i2c_driver.attach_adapter and .detach_adapter 2011-03-20 14:50:53 +01:00