96219c3a25
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> |
||
---|---|---|
.. | ||
i2c-acorn.c | ||
i2c-ali15x3.c | ||
i2c-ali1535.c | ||
i2c-ali1563.c | ||
i2c-amd756-s4882.c | ||
i2c-amd756.c | ||
i2c-amd8111.c | ||
i2c-at91.c | ||
i2c-au1550.c | ||
i2c-bfin-twi.c | ||
i2c-cpm.c | ||
i2c-davinci.c | ||
i2c-designware.c | ||
i2c-diolan-u2c.c | ||
i2c-eg20t.c | ||
i2c-elektor.c | ||
i2c-gpio.c | ||
i2c-highlander.c | ||
i2c-hydra.c | ||
i2c-i801.c | ||
i2c-ibm_iic.c | ||
i2c-ibm_iic.h | ||
i2c-imx.c | ||
i2c-intel-mid.c | ||
i2c-iop3xx.c | ||
i2c-iop3xx.h | ||
i2c-isch.c | ||
i2c-ixp2000.c | ||
i2c-mpc.c | ||
i2c-mv64xxx.c | ||
i2c-mxs.c | ||
i2c-nforce2-s4985.c | ||
i2c-nforce2.c | ||
i2c-nomadik.c | ||
i2c-nuc900.c | ||
i2c-ocores.c | ||
i2c-octeon.c | ||
i2c-omap.c | ||
i2c-parport-light.c | ||
i2c-parport.c | ||
i2c-parport.h | ||
i2c-pasemi.c | ||
i2c-pca-isa.c | ||
i2c-pca-platform.c | ||
i2c-piix4.c | ||
i2c-pmcmsp.c | ||
i2c-pnx.c | ||
i2c-powermac.c | ||
i2c-puv3.c | ||
i2c-pxa-pci.c | ||
i2c-pxa.c | ||
i2c-s3c2410.c | ||
i2c-s6000.c | ||
i2c-s6000.h | ||
i2c-scmi.c | ||
i2c-sh7760.c | ||
i2c-sh_mobile.c | ||
i2c-sibyte.c | ||
i2c-simtec.c | ||
i2c-sis96x.c | ||
i2c-sis630.c | ||
i2c-sis5595.c | ||
i2c-stu300.c | ||
i2c-stub.c | ||
i2c-taos-evm.c | ||
i2c-tegra.c | ||
i2c-tiny-usb.c | ||
i2c-versatile.c | ||
i2c-via.c | ||
i2c-viapro.c | ||
i2c-xiic.c | ||
Kconfig | ||
Makefile | ||
scx200_acb.c | ||
scx200_i2c.c |