linux/drivers/spi
David Brownell 25d5cb4b03 spi: remove some spidev oops-on-rmmod paths
Somehow the spidev code forgot to include a critical mechanism: when the
underlying device is removed (e.g.  spi_master rmmod), open file
descriptors must be prevented from issuing new I/O requests to that
device.  On penalty of the oopsing reported by Sebastian Siewior
<bigeasy@tglx.de> ...

This is a partial fix, adding handshaking between the lower level (SPI
messaging) and the file operations using the spi_dev.  (It also fixes an
issue where reads and writes didn't return the number of bytes sent or
received.)

There's still a refcounting issue to be addressed (separately).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Reported-by: Sebastian Siewior <bigeasy@tglx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-05-24 09:56:14 -07:00
..
at25.c spi: at25 driver is for EEPROM not FLASH 2007-12-05 09:21:18 -08:00
atmel_spi.c atmel_spi: clean up baud rate divisor calculation 2008-04-30 08:29:31 -07:00
atmel_spi.h [PATCH] SPI: atmel_spi driver 2007-02-14 08:09:53 -08:00
au1550_spi.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
Kconfig spi_mpc83xx: much improved driver 2008-05-13 08:02:25 -07:00
Makefile spi: SuperH SPI using SCI 2008-02-06 10:41:11 -08:00
mpc52xx_psc_spi.c mpc5200_psc_spi: typo fix in header block 2008-05-14 19:11:12 -07:00
omap2_mcspi.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
omap_uwire.c spi: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:31 -07:00
pxa2xx_spi.c spi: pxa2xx_spi clock resume bugfix 2008-05-13 08:02:23 -07:00
spi.c spi core: stop updating dev->power.power_state 2008-02-06 10:41:10 -08:00
spi_bfin5xx.c spi_bfin5xx: use PIO for full duplex, not DMA 2008-05-01 08:04:01 -07:00
spi_bitbang.c spi: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:31 -07:00
spi_butterfly.c minor spi_butterfly cleanup 2007-05-08 11:15:15 -07:00
spi_imx.c spi: spi_imx updates 2008-04-28 08:58:31 -07:00
spi_lm70llp.c spi doesn't need class_device 2007-10-16 09:43:10 -07:00
spi_mpc83xx.c spi_mpc83xx: much improved driver 2008-05-13 08:02:25 -07:00
spi_s3c24xx.c spi_s3c24xx signedness fix 2008-05-01 08:04:01 -07:00
spi_s3c24xx_gpio.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
spi_sh_sci.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
spi_txx9.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
spidev.c spi: remove some spidev oops-on-rmmod paths 2008-05-24 09:56:14 -07:00
tle62x0.c tle62x0 driver stops ignoring read errors 2007-11-14 18:45:42 -08:00
xilinx_spi.c spi: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:31 -07:00