On 05/01/2016 10:11 PM, Jonathan Cameron wrote: > On 28/04/16 17:40, Crestez Dan Leonard wrote: >> 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 release the irq if set_trigger_state fails. >> >> Otherwise when using triggered buffers and the driver's >> set_trigger_state fails once then the buffer becomes unusable. >> >> It is not possible to handle this sort of error by calling >> iio_trigger_detach_poll_func externally somehow. That function should >> only be called if attach is successful. >> >> Signed-off-by: Crestez Dan Leonard <leonard.crestez@xxxxxxxxx> > I'm embarrassed :( good find! Not sure why you made such an obvious > bug fix an RFC though! > > Slight issue in the new error handling though I think.. > >> + >> +out_put_irq: >> + iio_trigger_put_irq(trig, pf->irq); >> + free_irq(pf->irq, pf); >> +out_put_module: > I think the iio_trigger_put_irq should be here as it will have been gotten before the > request_threaded_irq call and hence should always be unwound on error not just in the > case above. > Yes. I sent V2 which should properly handle errors from iio_trigger_get_irq and request_threaded_irq separately. -- Regards, Leonard -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html