summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Bostic <cbostic@linux.vnet.ibm.com>2017-03-03 00:15:37 +0300
committerJoel Stanley <joel@jms.id.au>2017-03-03 10:48:29 +0300
commit7c4d3dec7fdd67e3e77fd279ab7fdc5cde4ba93b (patch)
treec2fff0ab21eeb09a1470991e52fd394035ca6f25
parentfda8c8c15fdd111fab338a1f85c7e3f52cfbd412 (diff)
downloadlinux-7c4d3dec7fdd67e3e77fd279ab7fdc5cde4ba93b.tar.xz
drivers/fsi: Don't scan after fsi-gpio_master unbound
Check pointers prior to scanning master in the sysfs scan file. These get invalidated after an unbind operation. Signed-off-by: Christopher Bostic <cbostic@linux.vnet.ibm.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
-rw-r--r--drivers/fsi/fsi-master-gpio.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/fsi/fsi-master-gpio.c b/drivers/fsi/fsi-master-gpio.c
index c5f4f9c083f1..49f3399f4b2e 100644
--- a/drivers/fsi/fsi-master-gpio.c
+++ b/drivers/fsi/fsi-master-gpio.c
@@ -476,7 +476,14 @@ static ssize_t store_scan(struct device *dev,
const char *buf,
size_t count)
{
- struct fsi_master_gpio *master = dev_get_drvdata(dev);
+ struct fsi_master_gpio *master;
+
+ if (!dev)
+ return -EINVAL;
+
+ master = dev_get_drvdata(dev);
+ if (!master)
+ return -EINVAL;
fsi_master_gpio_init(master);