linux/drivers/spi
Sien Wu d0716dde37 spi: Prevent unexpected SPI time out due to arithmetic overflow
When reading SPI flash as MTD device, the transfer length is
directly passed to the spi driver. If the requested data size
exceeds 512KB, it will cause the time out calculation to
overflow since transfer length is 32-bit unsigned integer.
This issue is resolved by using 64-bit unsigned integer
to perform the arithmetic.

Signed-off-by: Sien Wu <sien.wu@ni.com>
Acked-by: Brad Keryan <brad.keryan@ni.com>
Acked-by: Gratian Crisan <gratian.crisan@ni.com>
Acked-by: Brad Mouring <brad.mouring@ni.com>

Natinst-ReviewBoard-ID 150232
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-09-03 11:58:13 +01:00
..
Kconfig spi: omap2-mcspi: Select SPI_SPLIT 2016-07-08 10:47:45 +02:00
Makefile spi: octeon: Split driver into Octeon specific and common parts 2016-07-24 21:54:29 +01:00
spi-adi-v3.c
spi-altera.c
spi-ath79.c spi: ath79: simplify iomem resource mapping 2015-09-30 20:33:29 +01:00
spi-atmel.c spi: atmel: fix gpio chip-select in case of non-DT platform 2016-01-28 23:25:54 +01:00
spi-au1550.c spi: au1550: Simplify au1550_spi_setupxfer() 2015-09-16 20:54:54 +01:00
spi-axi-spi-engine.c spi: Drop duplicate code to set master->dev.parent 2016-04-26 11:56:09 +01:00
spi-bcm53xx.c spi: bcm53xx: add spi_flash_read callback for MMIO-based reads 2016-04-18 13:53:46 +01:00
spi-bcm53xx.h
spi-bcm63xx-hsspi.c spi/bcm63xx-hsspi: add support for dual spi read/write 2015-08-25 17:33:49 +01:00
spi-bcm63xx.c Merge remote-tracking branches 'spi/topic/bcm63xx', 'spi/topic/butterfly', 'spi/topic/cadence' and 'spi/topic/davinci' into spi-next 2016-01-11 16:48:30 +00:00
spi-bcm2835.c spi: bcm2835: Remove unnecessary workaround to call gpio_set_value 2016-02-15 20:43:39 +00:00
spi-bcm2835aux.c Merge remote-tracking branches 'spi/topic/acpi', 'spi/topic/axi-engine', 'spi/topic/bcm2835' and 'spi/topic/bcm2835aux' into spi-next 2016-03-11 14:28:25 +07:00
spi-bfin5xx.c spi: spi-bfin5xx: Remove deprecated create_singlethread_workqueue 2016-07-03 14:14:31 +02:00
spi-bfin-sport.c spi: spi-bfin-sport: Remove deprecated create_singlethread_workqueue 2016-07-03 14:24:31 +02:00
spi-bitbang-txrx.h spi: Fix regression in spi-bitbang-txrx.h 2015-07-29 15:01:07 +01:00
spi-bitbang.c spi: bitbang: switch to the generic implementation of transfer_one_message 2015-10-05 14:55:56 +01:00
spi-butterfly.c spi: butterfly: use new parport device model 2015-12-02 19:38:16 +00:00
spi-cadence.c spi: cadence: mark pm functions __maybe_unused 2016-04-18 10:58:49 +01:00
spi-cavium-octeon.c spi: octeon: Split driver into Octeon specific and common parts 2016-07-24 21:54:29 +01:00
spi-cavium.c spi: octeon: Split driver into Octeon specific and common parts 2016-07-24 21:54:29 +01:00
spi-cavium.h spi: octeon: Split driver into Octeon specific and common parts 2016-07-24 21:54:29 +01:00
spi-clps711x.c spi: clps711x: Driver refactor 2016-07-07 11:44:43 +02:00
spi-coldfire-qspi.c spi: spi-coldfire-qspi: enable RuntimePM before registering to the core 2015-10-12 17:02:08 +01:00
spi-davinci.c spi: davinci: Use dma_request_chan() for requesting DMA channel 2016-04-29 18:15:15 +01:00
spi-dln2.c spi: Drop duplicate code to set master->dev.parent 2016-04-26 11:56:09 +01:00
spi-dw-mid.c spi: dw-mid: switch to new dmaengine_terminate_* API 2016-02-05 17:41:49 +00:00
spi-dw-mmio.c spi: dw-mmio: remove message which is handled by core 2016-02-05 17:41:49 +00:00
spi-dw-pci.c spi: dw-pci: Spelling s/paltforms/platforms/g 2016-05-11 18:26:19 +01:00
spi-dw.c spi: dw: Use SPI_TMOD_TR rather than magic const 0 to set tmode 2015-12-23 12:12:09 +00:00
spi-dw.h spi: dw-mid: constify dw_spi_dma_ops structure 2015-11-30 11:34:50 +00:00
spi-efm32.c
spi-ep93xx.c spi: spi-ep93xx: Fix the PTR_ERR() argument 2016-05-24 16:54:50 +01:00
spi-falcon.c
spi-fsl-cpm.c QE: Move QE from arch/powerpc to drivers/soc 2015-12-22 17:12:56 -06:00
spi-fsl-cpm.h
spi-fsl-dspi.c Merge remote-tracking branches 'spi/topic/dw', 'spi/topic/flash-read', 'spi/topic/fsl-dspi', 'spi/topic/fsl-espi' and 'spi/topic/kconfig' into spi-next 2016-05-23 12:16:48 +01:00
spi-fsl-espi.c spi/fsl-espi: avoid infinite loops on fsl_espi_cpu_irq() 2016-03-28 19:41:18 +01:00
spi-fsl-lib.c spi: fsl-(e)spi: simplify cleanup code 2015-08-28 18:15:18 +01:00
spi-fsl-lib.h spi: fsl-(e)spi: simplify cleanup code 2015-08-28 18:15:18 +01:00
spi-fsl-spi.c spi: fsl-(e)spi: Fix checking return value of devm_ioremap_resource 2015-08-30 12:14:36 +01:00
spi-fsl-spi.h
spi-gpio.c
spi-img-spfi.c Merge remote-tracking branches 'spi/topic/dw', 'spi/topic/fsl-espi', 'spi/topic/img-spfi' and 'spi/topic/mpc512x-psc' into spi-next 2015-08-31 14:45:32 +01:00
spi-imx.c spi: imx: wait_for_completion_timeout(..) for PIO transfers 2016-06-21 19:52:15 +01:00
spi-lm70llp.c spi: lm70llp: remove printk 2015-12-07 20:09:09 +00:00
spi-loopback-test.c spi: loopback-test: fix spelling mistake: "missmatch" -> "mismatch" 2016-06-28 19:40:53 +01:00
spi-lp8841-rtc.c spi: lp-8841: return correct error code from probe 2016-02-26 11:06:38 +09:00
spi-meson-spifc.c spi: meson: Fix module autoload for OF platform driver 2015-09-19 07:55:25 -07:00
spi-mpc52xx-psc.c spi: spi-mpc52xx-psc: Remove deprecated create_singlethread_workqueue 2016-07-03 14:23:25 +02:00
spi-mpc52xx.c
spi-mpc512x-psc.c spi: mpc512x: Call mpc512x_psc_spi_transfer_setup() unconditionally 2015-09-17 12:33:31 +01:00
spi-mt65xx.c Merge remote-tracking branches 'spi/topic/lm70llp', 'spi/topic/loopback', 'spi/topic/mtk' and 'spi/topic/omap2-mcspi' into spi-next 2016-01-11 16:48:33 +00:00
spi-mxs.c
spi-nuc900.c
spi-oc-tiny.c spi: oc-tiny: Use of_property_read_u32 instead of open-coding it 2015-09-16 19:16:01 +01:00
spi-omap2-mcspi.c spi: omap2-mcspi: Use the SPI framework to handle DMA mapping 2016-07-08 10:48:02 +02:00
spi-omap-100k.c spi: omap-100k: Rely on validations done by spi core 2015-09-17 12:34:20 +01:00
spi-omap-uwire.c spi: omap-uwire: Remove needless bits_per_word and speed_hz tests 2015-09-17 12:33:58 +01:00
spi-orion.c spi: orion: Fix return value check in orion_spi_probe() 2016-06-13 16:36:40 +01:00
spi-pic32-sqi.c spi: pic32-sqi: fixup wait_for_completion_timeout return handling 2016-07-24 21:49:57 +01:00
spi-pic32.c spi: pic32: fixup wait_for_completion_timeout return handling 2016-07-24 21:49:16 +01:00
spi-pl022.c spi: pl022: Remove obsolete struct pl022 members from kerneldoc 2016-02-17 12:08:55 +00:00
spi-ppc4xx.c spi: bitbang: Replace spinlock by mutex 2015-09-17 12:13:40 +01:00
spi-pxa2xx-dma.c spi: pxa2xx: Switch to SPI core DMA mapping functionality 2016-06-21 18:44:48 +01:00
spi-pxa2xx-pci.c spi: pxa2xx-pci: Support both chipselects on Braswell 2016-07-07 12:04:47 +02:00
spi-pxa2xx.c Merge remote-tracking branches 'spi/topic/pxa2xx', 'spi/topic/rockchip', 'spi/topic/s3c64xx', 'spi/topic/sh' and 'spi/topic/sh-msiof' into spi-next 2016-07-24 22:08:25 +01:00
spi-pxa2xx.h spi: pxa2xx: Switch to SPI core DMA mapping functionality 2016-06-21 18:44:48 +01:00
spi-qup.c spi: qup: Add spi_master_put in remove function 2016-05-02 15:27:28 +01:00
spi-rb4xx.c
spi-rockchip.c Merge remote-tracking branches 'spi/topic/pxa2xx', 'spi/topic/rockchip', 'spi/topic/s3c64xx', 'spi/topic/sh' and 'spi/topic/sh-msiof' into spi-next 2016-07-24 22:08:25 +01:00
spi-rspi.c spi: rspi: Make qspi_set_send_trigger() return "unsigned int" 2015-07-03 13:52:10 +01:00
spi-s3c24xx-fiq.h
spi-s3c24xx-fiq.S
spi-s3c24xx.c spi: bitbang: Replace spinlock by mutex 2015-09-17 12:13:40 +01:00
spi-s3c64xx.c spi: s3c64xx: restore removed comments 2016-07-14 17:28:32 +01:00
spi-sc18is602.c
spi-sh-hspi.c
spi-sh-msiof.c spi: sh-msiof: Remove sh_msiof_spi_priv.chipdata 2016-06-22 14:14:38 +01:00
spi-sh-sci.c
spi-sh.c spi: spi-sh: Remove deprecated create_singlethread_workqueue 2016-07-11 19:32:38 +01:00
spi-sirf.c
spi-st-ssc4.c spi: st-ssc4: Remove 'no clocking' hack 2016-07-12 13:22:55 +02:00
spi-sun4i.c Merge remote-tracking branches 'spi/topic/spidev', 'spi/topic/sunxi', 'spi/topic/ti-qspi', 'spi/topic/topcliff-pch' and 'spi/topic/txx9' into spi-next 2016-07-24 22:08:27 +01:00
spi-sun6i.c Merge remote-tracking branches 'spi/topic/spidev', 'spi/topic/sunxi', 'spi/topic/ti-qspi', 'spi/topic/topcliff-pch' and 'spi/topic/txx9' into spi-next 2016-07-24 22:08:27 +01:00
spi-tegra20-sflash.c
spi-tegra20-slink.c
spi-tegra114.c
spi-test.h spi: loopback: added additional non-power of 2 transfer lengthes 2015-12-13 20:10:15 +00:00
spi-ti-qspi.c Merge remote-tracking branches 'spi/topic/spidev', 'spi/topic/sunxi', 'spi/topic/ti-qspi', 'spi/topic/topcliff-pch' and 'spi/topic/txx9' into spi-next 2016-07-24 22:08:27 +01:00
spi-tle62x0.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
spi-topcliff-pch.c spi: spi-topcliff-pch: Remove deprecated create_singlethread_workqueue 2016-07-11 19:32:26 +01:00
spi-txx9.c spi: spi-txx9: Remove deprecated create_singlethread_workqueue 2016-07-03 14:22:27 +02:00
spi-xcomm.c spi: xcomm: Export I2C module alias information 2015-07-31 18:14:57 +01:00
spi-xilinx.c spi: xilinx: Return IRQ_NONE if no interrupts were detected 2016-07-15 11:45:00 +01:00
spi-xlp.c spi/xlp: SPI controller driver for Netlogic XLP SoCs 2015-08-28 18:22:19 +01:00
spi-xtensa-xtfpga.c spi: xtensa-xtfpga: fix register endianness 2015-09-22 09:30:10 -07:00
spi-zynqmp-gqspi.c spi: zynqmp: disable clocks in error paths 2016-05-04 14:21:03 +01:00
spi.c spi: Prevent unexpected SPI time out due to arithmetic overflow 2016-09-03 11:58:13 +01:00
spidev.c spi: spidev: Add ACPI probing support 2016-07-04 16:28:52 +02:00