From: Guenter Roeck Date: Fri, 24 Aug 2012 18:03:02 +0000 (-0700) Subject: spi/mxs: Fix device remove function X-Git-Tag: omap-for-v3.7-rc1/fixes-cpufreq-signed~41^2~1^3~6 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d520d28dd5287d14b5ec6cf4405a1220ca57d42;p=pandora-kernel.git 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 Reviewed-by: Marek Vasut Signed-off-by: Mark Brown --- Reading git-diff-tree failed