iio: Fix error handling in iio_trigger_attach_poll_func
authorCrestez Dan Leonard <leonard.crestez@intel.com>
Tue, 3 May 2016 12:27:09 +0000 (15:27 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 22 Aug 2016 21:37:14 +0000 (22:37 +0100)
commit7e1e5ca41ceb8b67714fd9fb3c8819f48e920112
treeb5e6d69ea7ad787f8dc41b88bf1ad4fbbfe730fd
parent56c3e3bb826c892f51be8263faf83af80812a0d3
iio: Fix error handling in iio_trigger_attach_poll_func

commit 99543823357966ac938d9a310947e731b67338e6 upstream.

When attaching a pollfunc iio_trigger_attach_poll_func will allocate a
virtual irq and call the driver's set_trigger_state function. Fix error
handling to undo previous steps if any fails.

In particular this fixes handling errors from a driver's
set_trigger_state function. When using triggered buffers a failure to
enable the trigger used to make the buffer unusable.

Signed-off-by: Crestez Dan Leonard <leonard.crestez@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/staging/iio/industrialio-trigger.c