mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-24 04:40:49 +00:00
Currently we have a global spi_add_lock which we take when adding new devices so that we can check that we're not trying to reuse a chip select that's already controlled. This means that if the SPI device is itself a SPI controller and triggers the instantiation of further SPI devices we trigger a deadlock as we try to register and instantiate those devices while in the process of doing so for the parent controller and hence already holding the global spi_add_lock. Since we only care about concurrency within a single SPI bus move the lock to be per controller, avoiding the deadlock. This can be easily triggered in the case of spi-mux. Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org> |
||
|---|---|---|
| .. | ||
| ad7877.h | ||
| ads7846.h | ||
| altera.h | ||
| at73c213.h | ||
| at86rf230.h | ||
| cc2520.h | ||
| corgi_lcd.h | ||
| ds1305.h | ||
| eeprom.h | ||
| flash.h | ||
| libertas_spi.h | ||
| max7301.h | ||
| mc33880.h | ||
| mmc_spi.h | ||
| mxs-spi.h | ||
| pxa2xx_spi.h | ||
| rspi.h | ||
| s3c24xx-fiq.h | ||
| s3c24xx.h | ||
| sh_hspi.h | ||
| sh_msiof.h | ||
| spi_bitbang.h | ||
| spi_gpio.h | ||
| spi_oc_tiny.h | ||
| spi-fsl-dspi.h | ||
| spi-mem.h | ||
| spi.h | ||
| tdo24m.h | ||
| tle62x0.h | ||
| xilinx_spi.h | ||