linux/drivers/spi
Trent Piepho 9c97e3421f spi: spi-mxs: Fix race in setup method
Despite many warnings in the SPI documentation and code, the spi-mxs
driver sets shared chip registers in the ->setup method.  This method can
be called when transfers are in progress on other slaves controlled by the
master.  Setting registers or any other shared state will corrupt those
transfers.

So fix mxs_spi_setup() to not call mxs_spi_setup_transfer().
mxs_spi_setup_transfer() is already called for each transfer when they
are actually performed in mxs_spi_transfer_one(), so the call in
mxs_spi_setup() isn't necessary to setup anything.

Signed-off-by: Trent Piepho <tpiepho@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-18 01:00:31 +01:00
..
Kconfig Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
Makefile Merge remote-tracking branch 'spi/topic/qspi' into spi-next 2013-09-01 13:49:06 +01:00
spi-altera.c ARM: SoC DT updates for 3.12 2013-09-06 13:26:27 -07:00
spi-ath79.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-atmel.c spi: atmel: Fix incorrect error path 2013-10-07 12:36:01 +01:00
spi-au1550.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-bcm63xx.c Merge remote-tracking branch 'spi/topic/qspi' into spi-next 2013-09-01 13:49:06 +01:00
spi-bcm2835.c spi: bcm2835: Add spi_master_get() call to prevent use after free 2013-08-22 19:07:51 +01:00
spi-bfin-sport.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-bfin-v3.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-09-01 13:49:03 +01:00
spi-bfin5xx.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-bitbang-txrx.h spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-bitbang.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-09-06 09:36:28 -07:00
spi-butterfly.c spi: Add module.h to implicit users in drivers/spi 2011-10-31 19:32:17 -04:00
spi-clps711x.c spi/clps711x: drop clk_put for devm_clk_get in spi_clps711x_probe() 2013-09-27 10:49:09 +01:00
spi-coldfire-qspi.c Merge remote-tracking branch 'spi/topic/qspi' into spi-next 2013-09-01 13:49:06 +01:00
spi-davinci.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-09-01 13:49:03 +01:00
spi-dw-mid.c dmaengine/dma_slave: introduce inline wrappers 2012-03-21 19:20:22 +05:30
spi-dw-mmio.c spi: remove unnecessary platform_set_drvdata() 2013-05-13 18:00:30 +04:00
spi-dw-pci.c spi: Remove HOTPLUG section attributes 2012-12-07 17:06:43 +00:00
spi-dw.c spi: convert drivers to use bits_per_word_mask 2013-05-29 20:48:17 +01:00
spi-dw.h spi: spi-dw: fix all sparse warnings 2011-09-21 09:41:48 -06:00
spi-efm32.c spi: efm32: Fix build error 2013-08-31 16:29:14 +01:00
spi-ep93xx.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-09-01 13:49:03 +01:00
spi-falcon.c spi/mips-lantiq: set SPI_MASTER_HALF_DUPLEX flag 2013-02-05 17:16:55 +00:00
spi-fsl-cpm.c spi/spi-fsl-spi: Make driver usable in CPU mode outside of an FSL_SOC environment 2013-04-07 10:07:54 +01:00
spi-fsl-cpm.h spi/spi-fsl-spi: Make driver usable in CPU mode outside of an FSL_SOC environment 2013-04-07 10:07:54 +01:00
spi-fsl-dspi.c spi: fix return value check in dspi_probe() 2013-09-12 10:53:16 +01:00
spi-fsl-espi.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-fsl-lib.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-fsl-lib.h spi/spi-fsl-spi: Add support for gpio chipselects for GRLIB type cores 2013-04-07 10:07:57 +01:00
spi-fsl-spi.c PTR_RET() is a weird name, and led to some confusing usage. We ended 2013-09-04 17:31:11 -07:00
spi-fsl-spi.h spi/spi-fsl-spi: Add support for Aeroflex Gaisler GRLIB cores normally running on SPARC 2013-04-07 10:07:56 +01:00
spi-gpio.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-imx.c spi/imx: expose module alias for loading from device-tree 2013-07-29 12:40:08 +01:00
spi-lm70llp.c spi: By default setup spi_masters with 1 chipselect and dynamics bus number 2012-05-19 23:42:08 -06:00
spi-mpc52xx-psc.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-mpc52xx.c spi: use platform_{get,set}_drvdata() 2013-05-23 09:09:55 -05:00
spi-mpc512x-psc.c spi: mpc512x: fix error return code in mpc512x_psc_spi_do_probe() 2013-09-12 10:48:57 +01:00
spi-mxs.c spi: spi-mxs: Fix race in setup method 2013-10-18 01:00:31 +01:00
spi-nuc900.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-09-01 13:49:03 +01:00
spi-oc-tiny.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-09-01 13:49:03 +01:00
spi-octeon.c spi: octeon: Convert to use bits_per_word_mask 2013-08-20 11:34:08 +01:00
spi-omap-100k.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-09-01 13:49:03 +01:00
spi-omap-uwire.c spi: use platform_{get,set}_drvdata() 2013-05-23 09:09:55 -05:00
spi-omap2-mcspi.c Merge remote-tracking branch 'spi/topic/qspi' into spi-next 2013-09-01 13:49:06 +01:00
spi-orion.c Merge remote-tracking branch 'spi/topic/orion' into spi-next 2013-09-01 13:49:02 +01:00
spi-pl022.c Merge remote-tracking branch 'spi/topic/qspi' into spi-next 2013-09-01 13:49:06 +01:00
spi-ppc4xx.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-06-26 16:21:02 +01:00
spi-pxa2xx-dma.c Merge remote-tracking branch 'spi/topic/pxa' into spi-next 2013-06-26 16:21:03 +01:00
spi-pxa2xx-pci.c spi/pxa2xx-pci: correct the return value check of pcim_iomap_regions() 2013-03-12 18:30:56 +00:00
spi-pxa2xx-pxadma.c spi/pxa2xx: break out the private DMA API usage into a separate file 2013-02-08 12:15:21 +00:00
spi-pxa2xx.c spi/pxa2xx: check status register as well to determine if the device is off 2013-09-04 20:14:29 +01:00
spi-pxa2xx.h spi/pxa2xx: add support for Intel Low Power Subsystem SPI 2013-02-08 13:14:40 +00:00
spi-rspi.c Merge remote-tracking branch 'spi/topic/rspi' into spi-next 2013-09-01 13:49:08 +01:00
spi-s3c24xx-fiq.h spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-s3c24xx-fiq.S spi: reorganize drivers 2011-06-06 01:16:30 -06:00
spi-s3c24xx.c spi: Use dev_get_drvdata at appropriate places 2013-08-29 13:57:14 +01:00
spi-s3c64xx.c spi/s3c64xx: Ensure runtime PM is enabled prior to registration 2013-09-27 14:26:04 +01:00
spi-sc18is602.c spi/sc18is602: Return -EINVAL for probe failures due to I2C function mismatch 2012-08-23 12:13:54 +01:00
spi-sh-hspi.c spi/hspi: fixup Runtime PM enable timing 2013-10-03 14:08:06 +01:00
spi-sh-msiof.c Merge remote-tracking branch 'spi/topic/sh-msiof' into spi-next 2013-09-01 13:49:11 +01:00
spi-sh-sci.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-sh.c spi: use platform_{get,set}_drvdata() 2013-05-23 09:09:55 -05:00
spi-sirf.c Merge remote-tracking branch 'spi/topic/sirf' into spi-next 2013-09-01 13:49:12 +01:00
spi-tegra20-sflash.c spi/tegra20-sflash: Use core runtime PM 2013-07-29 18:00:26 +01:00
spi-tegra20-slink.c spi/tegra20-slink: Use core runtime PM 2013-07-29 18:00:30 +01:00
spi-tegra114.c Merge remote-tracking branch 'spi/topic/tegra' into spi-next 2013-09-01 13:49:13 +01:00
spi-ti-qspi.c spi/qspi: fix missing unlock on error in ti_qspi_start_transfer_one() 2013-09-01 13:47:55 +01:00
spi-ti-ssp.c spi: use dev_get_platdata() 2013-08-29 13:56:23 +01:00
spi-tle62x0.c Merge remote-tracking branch 'spi/topic/tel62x0' into spi-next 2013-09-01 13:49:14 +01:00
spi-topcliff-pch.c spi-topcliff-pch: Add MODULE_DEVICE_TABLE 2013-08-13 01:00:51 +01:00
spi-txx9.c spi/txx9: Use linux/gpio.h not asm/gpio.h 2013-07-30 12:16:04 +01:00
spi-xcomm.c spi: convert drivers to use bits_per_word_mask 2013-05-29 20:48:17 +01:00
spi-xilinx.c Merge remote-tracking branch 'spi/topic/pdata' into spi-next 2013-09-01 13:49:03 +01:00
spi.c Merge remote-tracking branch 'spi/topic/quad' into spi-next 2013-09-01 13:49:07 +01:00
spidev.c PTR_RET is now PTR_ERR_OR_ZERO(): Replace most. 2013-07-15 11:25:01 +09:30