summaryrefslogtreecommitdiffstats
path: root/include/sound/ak4531_codec.h
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2012-08-24 11:03:02 -0700
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-08-27 11:23:52 -0700
commit7d520d28dd5287d14b5ec6cf4405a1220ca57d42 (patch)
tree608e5d27690e3053a941ee4d2e8ab92200932982 /include/sound/ak4531_codec.h
parent41682e03d4fdc947dbd22725d70f222cc7746852 (diff)
downloadblackbird-op-linux-7d520d28dd5287d14b5ec6cf4405a1220ca57d42.tar.gz
blackbird-op-linux-7d520d28dd5287d14b5ec6cf4405a1220ca57d42.zip
spi/mxs: Fix device remove function
The call sequence spi_alloc_master/spi_register_master/spi_unregister_master is complete; it reduces the device reference count to zero, which results in device memory being freed. The remove function accesses the freed memory after the call to spi_unregister_master(), _and_ it calls spi_master_put on the freed memory. Acquire a reference to the SPI master device and release it after cleanup is complete (with the existing spi_master_put) to solve the problem. Also, the device subsystem ensures that the remove function is only called once, and resets device driver data to NULL. Remove the unnecessaary calls to platform_set_drvdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound/ak4531_codec.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud