Re: [PATCH] Input: colibri-vf50-ts - call iio_channel_release_all() in all error paths

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 15, 2016 at 10:32:47AM +0530, maitysanchayan@xxxxxxxxx wrote:
> Hello Fabio,
> 
> On 16-02-14 12:10:49, Fabio Estevam wrote:
> > From: Fabio Estevam <fabio.estevam@xxxxxxx>
> > 
> > We need to make sure to call iio_channel_release_all() in all error
> > paths of the probe function.
> > 
> > Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxx>
> > ---
> > Build-tested only.
> > 
> >  drivers/input/touchscreen/colibri-vf50-ts.c | 39 ++++++++++++++++++-----------
> >  1 file changed, 24 insertions(+), 15 deletions(-)
> > 
> > diff --git a/drivers/input/touchscreen/colibri-vf50-ts.c b/drivers/input/touchscreen/colibri-vf50-ts.c
> > index 69828d0..67f8a17 100644
> > --- a/drivers/input/touchscreen/colibri-vf50-ts.c
> > +++ b/drivers/input/touchscreen/colibri-vf50-ts.c
> > @@ -279,9 +279,8 @@ static int vf50_ts_probe(struct platform_device *pdev)
> >  
> >  	error = devm_add_action(dev, vf50_ts_channel_release, channels);
> >  	if (error) {
> > -		iio_channel_release_all(channels);
> >  		dev_err(dev, "Failed to register iio channel release action");
> > -		return error;
> > +		goto channel_release;
> >  	}
> 
> As far as my understanding goes, from the discussion which happened during the
> submission of the patchset for this driver, the channel release gets taken care
> by the vf50_ts_channel_release function. Once it is successfully registered with
> devm_add_action, any further error returns in probe, will result in this function
> being called and the channels getting released.

That is correct, devm_add_action injects a custom action into devm
release sequence, so we should be releasing all channels when bailing
out due to an error.

Thanks.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux