iio: meter: ade7758: Fix indio_dev->trig assignment
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Fri, 22 Aug 2014 20:48:00 +0000 (21:48 +0100)
committerJonathan Cameron <jic23@kernel.org>
Mon, 25 Aug 2014 20:49:21 +0000 (21:49 +0100)
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>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Cc: Stable@vger.kernel.org
drivers/staging/iio/meter/ade7758_trigger.c

index ea01b8f..6f45ce0 100644 (file)
@@ -85,7 +85,7 @@ int ade7758_probe_trigger(struct iio_dev *indio_dev)
        ret = iio_trigger_register(st->trig);
 
        /* select default trigger */
-       indio_dev->trig = st->trig;
+       indio_dev->trig = iio_trigger_get(st->trig);
        if (ret)
                goto error_free_irq;