summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/input/touchscreen/tsc2005.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/input/touchscreen/tsc2005.c b/drivers/input/touchscreen/tsc2005.c
index 596fd1f01b22..732c81e9a3e6 100644
--- a/drivers/input/touchscreen/tsc2005.c
+++ b/drivers/input/touchscreen/tsc2005.c
@@ -634,8 +634,10 @@ static int __devinit tsc2005_probe(struct spi_device *spi)
spi_setup(spi);
r = tsc2005_setup(ts, pdata);
- if (r)
+ if (r) {
kfree(ts);
+ spi_set_drvdata(spi, NULL);
+ }
return r;
}
@@ -659,6 +661,7 @@ static int __devexit tsc2005_remove(struct spi_device *spi)
input_unregister_device(ts->idev);
kfree(ts);
+ spi_set_drvdata(spi, NULL);
return 0;
}