OpenCloudOS-Kernel/drivers/i2c/busses
Mika Westerberg e42dba569f i2c: designware: prevent signals from aborting I2C transfers
If a process receives signal while it is waiting for I2C transfer to
complete, an error is returned to the caller and the transfer is aborted.
This can cause the driver to fail subsequent transfers. Also according to
commit d295a86eab (i2c: mv64xxx: work around signals causing I2C
transactions to be aborted) I2C drivers aren't supposed to abort
transactions on signals.

To prevent this switch to use wait_for_completion_timeout() instead of
wait_for_completion_interruptible_timeout() in the designware I2C driver.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Christian Ruppert <christian.ruppert@abilis.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2013-06-12 20:39:06 +02:00
..
Kconfig i2c: intel-mid: remove obsolete driver 2013-06-05 23:06:28 +02:00
Makefile i2c: intel-mid: remove obsolete driver 2013-06-05 23:06:28 +02:00
i2c-acorn.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
i2c-ali15x3.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-ali1535.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-ali1563.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-amd756-s4882.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-amd756.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-amd8111.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-at91.c i2c: at91: convert to dma_request_slave_channel_compat() 2013-04-16 11:10:14 +02:00
i2c-au1550.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-bcm2835.c i2c: add bcm2835 driver 2013-02-12 11:33:59 +01:00
i2c-bfin-twi.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-cbus-gpio.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-cpm.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-davinci.c i2c: davinci: drop superfluous {get|put}_device 2013-04-19 20:21:40 +02:00
i2c-designware-core.c i2c: designware: prevent signals from aborting I2C transfers 2013-06-12 20:39:06 +02:00
i2c-designware-core.h i2c: designware: fix RX FIFO overrun 2013-05-17 10:33:11 +02:00
i2c-designware-pcidrv.c i2c: designware-pci: drop superfluous {get|put}_device 2013-04-19 20:22:10 +02:00
i2c-designware-platdrv.c i2c: designware: add Intel BayTrail ACPI ID 2013-05-17 22:49:22 +02:00
i2c-diolan-u2c.c i2c: diolan-u2c: Fix master_xfer return code 2012-08-18 12:27:27 +02:00
i2c-eg20t.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-elektor.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-gpio.c i2c: gpio: Add support for deferred probing 2013-03-27 08:51:50 +01:00
i2c-highlander.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-hydra.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-i801.c i2c: i801: Document feature bits in modinfo 2013-05-17 22:49:30 +02:00
i2c-ibm_iic.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-ibm_iic.h i2c-ibm_iic: Whitespace cleanup 2008-01-27 18:14:45 +01:00
i2c-imx.c i2c: imx: Let device core handle pinctrl 2013-06-12 20:39:05 +02:00
i2c-iop3xx.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-iop3xx.h i2c-iop3xx: add iomem annotation 2011-01-04 00:53:37 +00:00
i2c-isch.c i2c: isch: Add module parameter for backbone clock rate if divider is unset 2013-02-11 15:53:49 +01:00
i2c-ismt.c i2c: ismt: remove duplicate const 2013-03-24 10:30:56 +01:00
i2c-mpc.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-mv64xxx.c I2C: mv64xxx: fix race between FSM/interrupt and process context 2013-06-05 23:06:48 +02:00
i2c-mxs.c i2c: mxs: Let device core handle pinctrl 2013-06-12 20:39:06 +02:00
i2c-nforce2-s4985.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-nforce2.c i2c: nforce2: fix coding style issues 2013-01-28 05:26:42 +01:00
i2c-nomadik.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-nuc900.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-ocores.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-02-26 09:41:53 -08:00
i2c-octeon.c i2c: octeon: use HZ in timeout value 2013-04-23 18:29:11 +02:00
i2c-omap.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-02-26 09:41:53 -08:00
i2c-parport-light.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-parport.c i2c-parport: i2c_parport_irq can be static 2012-10-05 22:23:53 +02:00
i2c-parport.h i2c-parport: Various cleanups 2011-05-24 20:58:49 +02:00
i2c-pasemi.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-pca-isa.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-pca-platform.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-piix4.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-pmcmsp.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-pnx.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-powermac.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-puv3.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-05-02 14:38:53 -07:00
i2c-pxa-pci.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-pxa.c i2c: pxa: Use i2c-core to get bus number now 2013-03-24 10:30:54 +01:00
i2c-rcar.c i2c: Convert to devm_ioremap_resource() 2013-01-24 13:33:23 -08:00
i2c-s3c2410.c drivers/i2c/busses: don't check resource with devm_ioremap_resource 2013-05-18 11:55:32 +02:00
i2c-s6000.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-s6000.h i2c: Change mail address of Oskar Schirmer 2012-05-17 15:15:56 +02:00
i2c-scmi.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
i2c-sh7760.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-sh_mobile.c i2c: sh_mobile: don't send a stop condition by default inside transfers 2013-02-10 19:55:24 +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-sirf.c drivers/i2c/busses: don't check resource with devm_ioremap_resource 2013-05-18 11:55:32 +02:00
i2c-sis96x.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-sis630.c i2c: sis630: checkpatch cleanup 2013-02-11 15:59:40 +01:00
i2c-sis5595.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-stu300.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-02-26 09:41:53 -08:00
i2c-taos-evm.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-tegra.c drivers/i2c/busses: don't check resource with devm_ioremap_resource 2013-05-18 11:55:32 +02:00
i2c-tiny-usb.c i2c-tiny-usb: Add support for the Robofuzz OSIF USB/I2C converter 2012-07-24 14:13:59 +02:00
i2c-versatile.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-via.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-viapro.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-viperboard.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-xiic.c i2c: xiic: must always write 16-bit words to TX_FIFO 2013-04-23 20:18:34 +02:00
i2c-xlr.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-02-26 09:41:53 -08:00
scx200_acb.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
scx200_i2c.c i2c/scx200_*: Replace printks with pr_<level>s 2012-10-05 22:23:52 +02:00