iio: accel: kxcjk-1013: Increment ref counter for indio_dev->trig
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Thu, 17 Jul 2014 00:42:00 +0000 (01:42 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sun, 20 Jul 2014 15:37:52 +0000 (16:37 +0100)
Assigning indio_dev->trig is not a good idea, as this can result in
wrong reference count for trigger device. If assigned, it is better to
increment reference counter by calling iio_trigger_get.
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>
drivers/iio/accel/kxcjk-1013.c

index bff5161..eb8a322 100644 (file)
@@ -644,6 +644,7 @@ static int kxcjk1013_probe(struct i2c_client *client,
                iio_trigger_set_drvdata(trig, indio_dev);
                data->trig = trig;
                indio_dev->trig = trig;
+               iio_trigger_get(indio_dev->trig);
 
                ret = iio_trigger_register(trig);
                if (ret)