From: Srinivas Pandruvada Date: Fri, 22 Aug 2014 20:48:00 +0000 (+0100) Subject: iio: meter: ade7758: Fix indio_dev->trig assignment X-Git-Tag: firefly_0821_release~3679^2~1466 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e3675a4bd5f72e2551a4f4dfae7330c8b6c854dd;p=firefly-linux-kernel-4.4.55.git iio: meter: ade7758: Fix indio_dev->trig assignment commit 0495081179212b758775df752e657ea71dcae020 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 Acked-by: Lars-Peter Clausen Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/iio/meter/ade7758_trigger.c b/drivers/staging/iio/meter/ade7758_trigger.c index 7a94ddd42f59..8c4f2896cd0d 100644 --- a/drivers/staging/iio/meter/ade7758_trigger.c +++ b/drivers/staging/iio/meter/ade7758_trigger.c @@ -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;