From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Date: Fri, 22 Aug 2014 20:48:00 +0000 (+0100) Subject: iio: adc: ad_sigma_delta: Fix indio_dev->trig assignment X-Git-Tag: firefly_0821_release~3679^2~1464 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b81f480569c02f391e6bb28c76e98ab64ce0fc83;p=firefly-linux-kernel-4.4.55.git iio: adc: ad_sigma_delta: Fix indio_dev->trig assignment commit 9e5846be33277802c0c76e5c12825d0e4d27f639 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> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c index f0d6335ae087..05d2733ef48c 100644 --- a/drivers/iio/adc/ad_sigma_delta.c +++ b/drivers/iio/adc/ad_sigma_delta.c @@ -477,7 +477,7 @@ static int ad_sd_probe_trigger(struct iio_dev *indio_dev) goto error_free_irq; /* select default trigger */ - indio_dev->trig = sigma_delta->trig; + indio_dev->trig = iio_trigger_get(sigma_delta->trig); return 0;