OpenCloudOS-Kernel/drivers/i2c/busses
Wolfram Sang 844990daa2 i2c: mxs: only flag completion when queue is completely done
The hardware generates an interrupt for every completed command in the
queue while the code assumed that it will only generate one interrupt
when the queue is empty. So, explicitly check if the queue is really
empty. This patch fixed problems which occurred due to high traffic on
the bus. While we are here, move the completion-initialization after the
parameter error checking.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Lothar Waßmann <LW@KARO-electronics.de>
Cc: stable@kernel.org
2012-02-24 22:28:27 +01:00
..
Kconfig i2c-eg20t: Support new device LAPIS Semiconductor ML7831 IOH 2012-01-17 23:29:52 +00:00
Makefile i2c-designware: Add support for Designware core behind PCI devices. 2011-10-29 11:03:52 +01:00
i2c-acorn.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
i2c-ali15x3.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-ali1535.c i2c-ali1535: enable SPARC support 2012-01-12 20:32:04 +01:00
i2c-ali1563.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-amd756-s4882.c i2c: Use snprintf to set adapter names 2009-01-07 14:29:18 +01:00
i2c-amd756.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-amd8111.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-at91.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-au1550.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-bfin-twi.c i2c: irq: Remove IRQF_DISABLED 2011-10-29 09:55:45 +01:00
i2c-cpm.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-davinci.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-designware-core.c i2c-designware: Add runtime power management support 2011-10-29 11:03:53 +01:00
i2c-designware-core.h i2c-designware: Add runtime power management support 2011-10-29 11:03:53 +01:00
i2c-designware-pcidrv.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-designware-platdrv.c i2c-designware: add OF binding support 2011-12-27 15:52:44 -06:00
i2c-diolan-u2c.c USB: convert some miscellanies drivers to use module_usb_driver() 2011-11-18 09:52:10 -08:00
i2c-eg20t.c i2c-eg20t: Change-company-name-OKI-SEMICONDUCTOR to LAPIS Semiconductor 2012-01-17 23:29:56 +00:00
i2c-elektor.c Fix common misspellings 2011-03-31 11:26:23 -03:00
i2c-gpio.c Haavard Skinnemoen has left Atmel 2011-05-18 23:24:50 +02:00
i2c-highlander.c Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
i2c-hydra.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-i801.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-ibm_iic.c Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
i2c-ibm_iic.h i2c-ibm_iic: Whitespace cleanup 2008-01-27 18:14:45 +01:00
i2c-imx.c i2c-imx: add device tree probe support 2011-09-14 22:16:14 +01:00
i2c-intel-mid.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-iop3xx.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-iop3xx.h i2c-iop3xx: add iomem annotation 2011-01-04 00:53:37 +00:00
i2c-isch.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-ixp2000.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-mpc.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-mv64xxx.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-mxs.c i2c: mxs: only flag completion when queue is completely done 2012-02-24 22:28:27 +01:00
i2c-nforce2-s4985.c i2c: Fix oops on bus multiplexer driver loading 2008-08-10 22:56:15 +02:00
i2c-nforce2.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-nomadik.c Merge branches 'for-32/i2c/nomadik', 'for-32/i2c/s3c2410-dt' and 'for-32/i2c/tegra-iomem' into for-linus/i2c-3.2 2011-11-01 00:54:17 +00:00
i2c-nuc900.c ARM: 7175/1: add subname parameter to mfp_set_groupg callers 2011-11-26 21:58:54 +00:00
i2c-ocores.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-octeon.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-omap.c i2c: OMAP: Fix OMAP1 build error 2012-01-20 08:24:22 -08:00
i2c-parport-light.c i2c-parport: Various cleanups 2011-05-24 20:58:49 +02:00
i2c-parport.c i2c-parport: Various cleanups 2011-05-24 20:58:49 +02:00
i2c-parport.h i2c-parport: Various cleanups 2011-05-24 20:58:49 +02:00
i2c-pasemi.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-pca-isa.c i2c-pca: Fix waitforcompletion() return value 2010-09-30 14:14:22 +02:00
i2c-pca-platform.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-piix4.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-pmcmsp.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-pnx.c i2c: pnx: Fix crash due to wrong init of timer->data 2011-05-13 00:10:36 +01:00
i2c-powermac.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-puv3.c i2c-puv3: using module_platform_driver() 2012-01-10 10:29:41 +08:00
i2c-pxa-pci.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-pxa.c i2c: Allow i2c_add_numbered_adapter() to assign a bus id 2011-07-25 17:49:43 +02:00
i2c-s3c2410.c i2c-s3c2410: Fix return code of s3c24xx_i2c_parse_dt_gpio 2011-12-18 11:44:49 +00:00
i2c-s6000.c i2c: Allow i2c_add_numbered_adapter() to assign a bus id 2011-07-25 17:49:43 +02:00
i2c-s6000.h i2c: xtensa s6000 i2c driver 2009-04-07 10:23:34 +01:00
i2c-scmi.c i2c-scmi: Provide module aliases for automatic loading 2010-03-24 14:38:39 +01:00
i2c-sh7760.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-sh_mobile.c i2c: irq: Remove IRQF_DISABLED 2011-10-29 09:55:45 +01: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/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-sis96x.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-sis630.c Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
i2c-sis5595.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-stu300.c i2c: irq: Remove IRQF_DISABLED 2011-10-29 09:55:45 +01:00
i2c-stub.c i2c-stub: Expose the default functionality flags 2010-05-21 18:40:56 +02:00
i2c-taos-evm.c i2c-taos-evm: Fix log messages 2011-06-29 11:36:10 +02:00
i2c-tegra.c i2c: tegra: Add devexit_p() for remove 2012-02-06 18:32:45 -08:00
i2c-tiny-usb.c USB: convert some miscellanies drivers to use module_usb_driver() 2011-11-18 09:52:10 -08: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: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
i2c-viapro.c Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
i2c-xiic.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
scx200_acb.c i2c: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-12 20:32:04 +01:00
scx200_i2c.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00