spi: bcm2835: Add spi_master_get() call to prevent use after free
authorAxel Lin <axel.lin@ingics.com>
Thu, 22 Aug 2013 15:19:07 +0000 (23:19 +0800)
committerMark Brown <broonie@linaro.org>
Thu, 22 Aug 2013 18:07:51 +0000 (19:07 +0100)
commit7bc003100b61cdfe0515fe907010fe822353d924
tree9728df84bb395e8b7c14b5ba31c62e0cc8fb727d
parentc2b6a3a82d630574cc1ad859722d507a1fde889a
spi: bcm2835: Add spi_master_get() call to prevent use after free

The call to spi_unregister_master results in device memory being freed, it must
no longer be accessed afterwards. Thus call spi_master_get() to get an extra
reference to the device and call spi_master_put() only after the last access to
device data.

Note, current code has an extra spi_master_put() call in bcm2835_spi_remove().
Thus this patch just adds an spi_master_get() to balance the reference count.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-bcm2835.c