X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fiio%2Findustrialio-trigger.c;h=ae2806aafb7267c474f54ffac8bc33232739c469;hb=9bbd4b9f38f56b4ee2c8ff268a1104ff38333e90;hp=570606c2adbd8ccd7167ae0cd4105c9d2744230b;hpb=0a3579e39dd0412b3ff932e32ae7a22a604200f0;p=karo-tx-linux.git diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industrialio-trigger.c index 570606c2adbd..ae2806aafb72 100644 --- a/drivers/iio/industrialio-trigger.c +++ b/drivers/iio/industrialio-trigger.c @@ -366,10 +366,18 @@ static ssize_t iio_trigger_write_current(struct device *dev, indio_dev->trig = trig; - if (oldtrig) + if (oldtrig) { + if (indio_dev->modes & INDIO_EVENT_TRIGGERED) + iio_trigger_detach_poll_func(oldtrig, + indio_dev->pollfunc_event); iio_trigger_put(oldtrig); - if (indio_dev->trig) + } + if (indio_dev->trig) { iio_trigger_get(indio_dev->trig); + if (indio_dev->modes & INDIO_EVENT_TRIGGERED) + iio_trigger_attach_poll_func(indio_dev->trig, + indio_dev->pollfunc_event); + } return len; }