Messages in this thread | | | Date | Sat, 14 Jun 2014 16:41:20 +0100 | From | Jonathan Cameron <> | Subject | Re: [PATCH] iio: adc: at91_adc: Correct call to input_free_device |
| |
On 13/06/14 18:11, Himangi Saraogi wrote: > This error handling code can be reached before st->ts_input is > initialized, so it is safer to always use the original name, input_dev. > > A simplified version of the semantic match that finds this problem is: > > // <smpl> > @r exists@ > local idexpression struct input_dev * x; > expression ra,rr; > @@ > > * x = input_allocate_device(...) > ... when != x = rr > when != input_free_device(x,...) > when != if (...) { ... input_free_device(x,...) ...} > if(...) { ... when != x = ra > when forall > * when != input_free_device(x,...) > \(return <+...x...+>; \| return...; \) } > > // </smpl> > > Signed-off-by: Himangi Saraogi <himangi774@gmail.com> The error handling in this function has been completely rewritten so the bug is no longer there and this no longer applies.
Thanks,
Jonathan > --- > drivers/iio/adc/at91_adc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c > index 3b5bacd..73b2bb5 100644 > --- a/drivers/iio/adc/at91_adc.c > +++ b/drivers/iio/adc/at91_adc.c > @@ -1114,7 +1114,7 @@ static int at91_ts_register(struct at91_adc_state *st, > return ret; > > err: > - input_free_device(st->ts_input); > + input_free_device(input); > return ret; > } > >
| |