aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2014-06-16 10:39:29 -0400
committerMark Brown <broonie@linaro.org>2014-06-17 10:47:31 -0400
commit25f8a7cc5856f1c697c9aee88b0a898fcb6d788c (patch)
tree1883b367e997b23322a55c770df761f470d2a1e0
parent7171511eaec5bf23fb06078f59784a3a0626b38f (diff)
spi: sh-sci: fix use-after-free in sh_sci_spi_remove()
setbits() uses sp->membase. Signed-off-by: Jürg Billeter <j@bitron.ch> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--drivers/spi/spi-sh-sci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/spi/spi-sh-sci.c b/drivers/spi/spi-sh-sci.c
index 1f56ef651d1a..b83dd733684c 100644
--- a/drivers/spi/spi-sh-sci.c
+++ b/drivers/spi/spi-sh-sci.c
@@ -175,9 +175,9 @@ static int sh_sci_spi_remove(struct platform_device *dev)
175{ 175{
176 struct sh_sci_spi *sp = platform_get_drvdata(dev); 176 struct sh_sci_spi *sp = platform_get_drvdata(dev);
177 177
178 iounmap(sp->membase);
179 setbits(sp, PIN_INIT, 0);
180 spi_bitbang_stop(&sp->bitbang); 178 spi_bitbang_stop(&sp->bitbang);
179 setbits(sp, PIN_INIT, 0);
180 iounmap(sp->membase);
181 spi_master_put(sp->bitbang.master); 181 spi_master_put(sp->bitbang.master);
182 return 0; 182 return 0;
183} 183}