linux/drivers/i2c/busses
George Cherian 8d504d804a i2c: xlp9xx: Fix issue seen when updating receive length
The hardware does not handle updates to the length register gracefully
if the new value is less than the number of bytes received so far. If
this happens, the i2c controller will not stop the receive transaction
properly.

Fix this by ensuring that the updated length is ok. This is done by
making sure that the new length written to hardware is at least few
bytes more than the bytes received so far.

While at that refactor the length updation to a new function.

Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
Signed-off-by: George Cherian <george.cherian@cavium.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2018-05-22 14:06:25 +02:00
..
i2c-acorn.c i2c: acorn: remove outdated path from file header 2018-01-18 00:08:20 +01:00
i2c-ali15x3.c
i2c-ali1535.c
i2c-ali1563.c
i2c-altera.c i2c: altera: Add Altera I2C Controller driver 2017-09-13 23:37:16 +02:00
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c
i2c-aspeed.c i2c: aspeed: Deassert reset in probe 2017-11-06 19:15:31 +01:00
i2c-at91.c i2c: at91: Read all available bytes at once 2018-04-30 10:39:28 +02:00
i2c-au1550.c
i2c-axxia.c i2c: axxia: enable clock before calling clk_get_rate() 2018-05-08 23:13:19 +02:00
i2c-bcm2835.c i2c: bcm2835: Set up the rising/falling edge delays 2018-02-22 12:11:07 +01:00
i2c-bcm-iproc.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-bcm-kona.c
i2c-brcmstb.c
i2c-cadence.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-cbus-gpio.c
i2c-cht-wc.c i2c-cht-wc: constify platform_device_id 2017-12-07 12:00:35 +01:00
i2c-cpm.c i2c: busses: make i2c_adapter_quirks const 2017-08-29 22:32:47 +02:00
i2c-cros-ec-tunnel.c
i2c-davinci.c i2c: davinci: fix the cpufreq transition 2018-01-24 07:14:59 +01:00
i2c-designware-baytrail.c
i2c-designware-common.c i2c: designware: refactor low-level enable/disable 2018-05-15 10:42:19 +02:00
i2c-designware-core.h i2c: designware: refactor low-level enable/disable 2018-05-15 10:42:19 +02:00
i2c-designware-master.c i2c: designware: refactor low-level enable/disable 2018-05-15 10:42:19 +02:00
i2c-designware-pcidrv.c
i2c-designware-platdrv.c Merge branch 'i2c/for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-02-04 10:57:43 -08:00
i2c-designware-slave.c i2c: designware: refactor low-level enable/disable 2018-05-15 10:42:19 +02:00
i2c-digicolor.c
i2c-diolan-u2c.c
i2c-dln2.c
i2c-efm32.c
i2c-eg20t.c
i2c-elektor.c
i2c-emev2.c
i2c-exynos5.c i2c: exynos5: simplify transfer function 2018-05-15 10:43:38 +02:00
i2c-gpio.c i2c: gpio: move header to platform_data 2018-05-17 16:27:09 +02:00
i2c-highlander.c
i2c-hix5hd2.c i2c: hix5hd2: remove some dead code 2018-05-15 10:43:38 +02:00
i2c-hydra.c
i2c-i801.c Merge branch 'i2c/platform_data-immutable' into i2c/for-4.18 2018-05-17 16:29:19 +02:00
i2c-ibm_iic.c
i2c-ibm_iic.h
i2c-img-scb.c i2c: img-scb: Add runtime PM 2017-10-28 14:03:45 +02:00
i2c-imx-lpi2c.c i2c: imx-lpi2c: add runtime pm support 2018-01-24 07:20:30 +01:00
i2c-imx.c i2c: imx: avoid taking clk_prepare mutex in PM callbacks 2018-04-03 15:29:28 +02:00
i2c-iop3xx.c
i2c-iop3xx.h
i2c-isch.c
i2c-ismt.c i2c: ismt: 16-byte align the DMA buffer address 2018-01-15 21:02:43 +01:00
i2c-jz4780.c
i2c-kempld.c i2c: busses: make i2c_adapter const 2017-08-29 22:26:08 +02:00
i2c-lpc2k.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-meson.c i2c: meson: update doc description to fix build warnings 2018-01-26 18:33:44 +01:00
i2c-mlxcpld.c i2c: mlxcpld: Allow configurable adapter id for mlxcpld 2018-04-30 10:39:29 +02:00
i2c-mpc.c i2c: mpc: always determine I2C clock prescaler at runtime 2018-01-15 19:19:55 +01:00
i2c-mt65xx.c i2c: mediatek: use of_device_get_match_data() 2018-04-30 10:39:28 +02:00
i2c-mv64xxx.c i2c: mv64xxx: Apply errata delay only in standard mode 2018-03-17 21:20:04 +01:00
i2c-mxs.c i2c: mxs: use true and false for boolean values 2018-01-26 18:34:50 +01:00
i2c-nforce2-s4985.c
i2c-nforce2.c
i2c-nomadik.c i2c: busses: remove superfluous ignoring of children for RPM 2018-05-08 23:19:02 +02:00
i2c-ocores.c i2c: ocores: move header to platform_data 2018-05-17 16:27:57 +02:00
i2c-octeon-core.c i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-core.h i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-platdrv.c i2c: busses: make i2c_adapter const 2017-08-29 22:26:08 +02:00
i2c-omap.c i2c: omap: move header to platform_data 2018-05-17 16:27:58 +02:00
i2c-opal.c i2c: busses: make i2c_adapter_quirks const 2017-08-29 22:32:47 +02:00
i2c-parport-light.c i2c: i2c-smbus: Use threaded irq for smbalert 2017-10-28 23:42:26 +02:00
i2c-parport.c i2c: i2c-smbus: Use threaded irq for smbalert 2017-10-28 23:42:26 +02:00
i2c-parport.h
i2c-pasemi.c
i2c-pca-isa.c
i2c-pca-platform.c i2c: pca-platform: move header to platform_data 2018-05-17 16:27:58 +02:00
i2c-piix4.c i2c: piix4: Use request_muxed_region 2018-03-02 11:17:23 +01:00
i2c-pmcmsp.c i2c: pmcmsp: fix error return from master_xfer 2018-05-15 09:31:19 +02:00
i2c-pnx.c i2c: pnx: move header into the driver 2018-05-17 16:27:59 +02:00
i2c-powermac.c i2c: busses: make i2c_adapter_quirks const 2017-08-29 22:32:47 +02:00
i2c-puv3.c i2c: busses: make i2c_algorithm const 2017-08-29 22:20:20 +02:00
i2c-pxa-pci.c ARM: pxa: move header file out of I2C realm 2017-11-28 22:49:30 +01:00
i2c-pxa.c ARM: pxa: move header file out of I2C realm 2017-11-28 22:49:30 +01:00
i2c-qup.c i2c: qup: reorganization of driver code to remove polling for qup v2 2018-03-24 13:21:02 +01:00
i2c-rcar.c i2c: rcar: enhance comment to avoid regressions 2018-04-30 11:14:35 +02:00
i2c-riic.c i2c: riic: remove clock and frequency restrictions 2017-10-27 21:39:29 +02:00
i2c-rk3x.c i2c: rk3x: add proper kerneldoc header 2018-01-18 00:34:09 +01:00
i2c-robotfuzz-osif.c
i2c-s3c2410.c i2c: s3c2410: Remove support for Exynos5440 2018-04-30 10:39:28 +02:00
i2c-scmi.c i2c: scmi: Use standard device message logging functions 2018-03-02 11:18:55 +01:00
i2c-sh7760.c
i2c-sh_mobile.c i2c: busses: remove superfluous ignoring of children for RPM 2018-05-08 23:19:02 +02:00
i2c-sibyte.c
i2c-simtec.c i2c: simtec: use release_mem_region instead of release_resource 2017-08-14 21:39:21 +02:00
i2c-sirf.c i2c: busses: i2c-sirf: Fix spelling: "formular" -> "formula". 2018-02-22 12:12:35 +01:00
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c
i2c-sprd.c i2c: sprd: Fix the i2c count issue 2018-04-27 14:12:43 +02:00
i2c-st.c i2c: use dev_get_drvdata() to get private data in suspend/resume hooks 2017-07-31 17:03:32 +02:00
i2c-stm32.c i2c: i2c-stm32: Add generic DMA API 2018-04-30 10:39:27 +02:00
i2c-stm32.h i2c: i2c-stm32: Add generic DMA API 2018-04-30 10:39:27 +02:00
i2c-stm32f4.c i2c-stm32f4: remove redundant initialization of pointer reg 2018-02-27 13:51:05 +01:00
i2c-stm32f7.c i2c: stm32f7: fix documentation typo 2018-05-17 15:59:02 +02:00
i2c-stu300.c
i2c-sun6i-p2wi.c i2c: sun6i-pw2i: explicitly request exclusive reset control 2017-08-14 21:40:21 +02:00
i2c-synquacer.c i2c: synquacer: fix fence-post error in retry loop 2018-05-17 15:40:33 +02:00
i2c-taos-evm.c i2c: taos-evm: Remove duplicate NULL check 2017-11-02 00:01:21 +01:00
i2c-tegra-bpmp.c
i2c-tegra.c i2c: busses: make i2c_adapter_quirks const 2017-08-29 22:32:47 +02:00
i2c-thunderx-pcidrv.c i2c: thunderx: Remove duplicate NULL check 2017-11-02 00:01:31 +01:00
i2c-tiny-usb.c
i2c-uniphier-f.c i2c: uniphier-f: add suspend / resume support 2017-08-12 15:38:23 +02:00
i2c-uniphier.c i2c: uniphier: add suspend / resume support 2017-08-12 15:38:13 +02:00
i2c-versatile.c i2c: versatile: Make i2c_algo_bit_data const 2017-08-29 22:34:12 +02:00
i2c-via.c
i2c-viapro.c
i2c-viperboard.c i2c: viperboard: return message count on master_xfer success 2018-05-15 09:31:26 +02:00
i2c-wmt.c
i2c-xgene-slimpro.c i2c: xgene-slimpro: Support v2 2017-11-01 23:54:53 +01:00
i2c-xiic.c Merge branch 'i2c/platform_data-immutable' into i2c/for-4.18 2018-05-17 16:29:19 +02:00
i2c-xlp9xx.c i2c: xlp9xx: Fix issue seen when updating receive length 2018-05-22 14:06:25 +02:00
i2c-xlr.c
i2c-zx2967.c i2c: zx2967: always use the same device when printing errors 2017-06-27 23:21:00 +02:00
Kconfig i2c: i2c-stm32f7: Add slave support 2018-04-30 10:39:27 +02:00
Makefile i2c: i2c-stm32f7: Add DMA support 2018-04-30 10:39:28 +02:00
scx200_acb.c