linux/drivers/i2c/busses
Todd Poynor cb63c62d8e i2c: tegra: recover from spurious interrupt storm
Re-init the I2C controller when an IRQ arrives with no
I2C_INT_STATUS bits set to indicate why the interrupt was sent.
Storms of such mystery interrupts are infrequently seen.

Dump some more status when these interrupts arrive.  Set an error
for the current request and wake up the requester (rather than
timing out the request or possibly silently ignoring the interrupts).

If the I2C block is inside the DVC, also ACK the DVC I2C transfer
done interrupt in the ISR error return path, as is done for the
normal return path.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
[swarren: Fix minor checkpatch whitespace issue, commit tag]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2011-05-11 06:45:50 +01:00
..
Kconfig Merge branch 'for-linus/2639/i2c-2' of git://git.fluff.org/bjdooks/linux 2011-03-22 10:05:27 -07:00
Makefile Merge branches 'for-2639/i2c/i2c-ce4100-v6', 'for-2639/i2c/i2c-eg20t-v3' and 'for-2639/i2c/i2c-imx' into for-linus/2639/i2c-2 2011-03-21 22:57:25 +00:00
i2c-acorn.c
i2c-ali15x3.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-ali1535.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-ali1563.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-amd756-s4882.c
i2c-amd756.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-amd8111.c i2c-amd8111: Add proper error handling 2010-10-24 18:16:58 +02:00
i2c-at91.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-au1550.c
i2c-bfin-twi.c i2c-bfin-twi: move setup to the earlier subsys initcall 2011-01-12 22:23:08 +00:00
i2c-cpm.c dt: Eliminate of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
i2c-davinci.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-designware.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-diolan-u2c.c i2c/busses: Add support for Diolan U2C-12 USB-I2C adapter 2011-01-27 00:39:30 +00:00
i2c-eg20t.c Merge branches 'for-2639/i2c/i2c-ce4100-v6', 'for-2639/i2c/i2c-eg20t-v3' and 'for-2639/i2c/i2c-imx' into for-linus/2639/i2c-2 2011-03-21 22:57:25 +00:00
i2c-elektor.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-gpio.c i2c-gpio: Move initialization code to subsys_initcall() 2010-05-21 18:40:58 +02:00
i2c-highlander.c i2c-highlander: remover superflous variable 2010-05-20 00:19:01 +01:00
i2c-hydra.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-i801.c i2c-i801: Move device ID definitions to driver 2011-05-01 18:18:49 +02:00
i2c-ibm_iic.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-ibm_iic.h
i2c-imx.c i2c-imx: do not allow interruptions when waiting for I2C to complete 2010-10-18 01:29:04 +01:00
i2c-intel-mid.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-iop3xx.c i2c-iop3xx: add iomem annotation 2011-01-04 00:53:37 +00:00
i2c-iop3xx.h i2c-iop3xx: add iomem annotation 2011-01-04 00:53:37 +00:00
i2c-isch.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-ixp2000.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-mpc.c dt: Eliminate of_platform_{,un}register_driver 2011-02-28 13:22:46 -07:00
i2c-mv64xxx.c i2c-mv64xxx: send repeated START between messages in xfer 2011-01-04 01:19:43 +00:00
i2c-mxs.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-nforce2-s4985.c
i2c-nforce2.c i2c-nforce2: Remove unnecessary cast of pci_get_drvdata 2011-01-10 22:11:22 +01:00
i2c-nomadik.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-nuc900.c i2c: Remove unneeded inclusions of <linux/i2c-id.h> 2010-10-24 18:16:58 +02:00
i2c-ocores.c mfd: mfd_cell is now implicitly available to timberdale drivers 2011-03-23 10:41:52 +01:00
i2c-octeon.c i2c-octeon: Return -ETIMEDOUT in octeon_i2c_wait() on timeout 2010-09-27 23:21:16 +01:00
i2c-omap.c i2c-omap: Program I2C_WE on OMAP4 to enable i2c wakeup 2011-03-07 09:53:38 +00:00
i2c-parport-light.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-parport.c i2c-parport: Fix adapter list handling 2011-05-01 18:18:49 +02:00
i2c-parport.h i2c-parport: Add SMBus alert support 2010-03-02 12:23:44 +01:00
i2c-pasemi.c i2c/i2c-pasemi.c: Fix unsigned return type 2010-10-13 16:19:04 +11:00
i2c-pca-isa.c i2c-pca: Fix waitforcompletion() return value 2010-09-30 14:14:22 +02:00
i2c-pca-platform.c i2c-pca-platform: Change device name of request_irq 2010-10-24 18:16:57 +02:00
i2c-piix4.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-pmcmsp.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-pnx.c i2c-pnx: Add stop conditions for end of transfer 2010-04-20 01:16:57 +01:00
i2c-powermac.c i2c-powermac: Be less verbose in the absence of real errors. 2010-03-13 20:56:52 +01:00
i2c-puv3.c unicore32 machine related files: add i2c bus drivers for pkunity-v3 soc 2011-03-17 09:19:20 +08:00
i2c-pxa-pci.c i2c-pxa2xx: Add PCI support for PXA I2C controller 2011-03-21 09:18:54 +00:00
i2c-pxa.c i2c-pxa2xx: Don't clear isr bits too early 2011-03-21 23:00:12 +00:00
i2c-s3c2410.c Merge branch 'for-2637/i2c/samsung' into next-i2c 2010-10-28 10:07:14 +01:00
i2c-s6000.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-s6000.h
i2c-scmi.c i2c-scmi: Provide module aliases for automatic loading 2010-03-24 14:38:39 +01:00
i2c-sh7760.c sh: i2c-sh7760: Replase from ctrl_* to __raw_* 2010-10-25 10:44:19 +09:00
i2c-sh_mobile.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-08-16 13:32:24 +09:00
i2c-sibyte.c i2c/mips: Fix error return codes from Sibyte i2c bus driver 2010-07-10 09:42:47 +02:00
i2c-simtec.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-sis96x.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-sis630.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-sis5595.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-stu300.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-stub.c i2c-stub: Expose the default functionality flags 2010-05-21 18:40:56 +02:00
i2c-taos-evm.c
i2c-tegra.c i2c: tegra: recover from spurious interrupt storm 2011-05-11 06:45:50 +01:00
i2c-tiny-usb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-versatile.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-via.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-viapro.c i2c-viapro: Don't log nacks 2010-10-24 18:16:59 +02:00
i2c-xiic.c Fix common misspellings 2011-03-31 11:26:23 -03:00
scx200_acb.c i2c: Convert SCx200 driver from using raw PCI to platform device 2011-01-14 12:38:15 +01:00
scx200_i2c.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00