iio: accel: bma180: Fix indio_dev->trig assignment
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Fri, 22 Aug 2014 20:48:00 +0000 (21:48 +0100)
committerJiri Slaby <jslaby@suse.cz>
Mon, 13 Oct 2014 13:41:12 +0000 (15:41 +0200)
commit 0668a4e4d297328ce08b44d91d160537596115e2 upstream.

This can result in wrong reference count for trigger device, call
iio_trigger_get to increment reference.
Refer to http://www.spinics.net/lists/linux-iio/msg13669.html for discussion
with Jonathan.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/iio/accel/bma180.c

index 60a3bab42263a2784a67e8ec3fb095b6424fd5fa..4edc95c14e3e103177cb111f3316bd51b289298f 100644 (file)
@@ -569,7 +569,7 @@ static int bma180_probe(struct i2c_client *client,
        trig->ops = &bma180_trigger_ops;
        iio_trigger_set_drvdata(trig, indio_dev);
        data->trig = trig;
-       indio_dev->trig = trig;
+       indio_dev->trig = iio_trigger_get(trig);
 
        ret = iio_trigger_register(trig);
        if (ret)