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@xxxxxxxxx>
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; }
-- 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