From b3f6af36e52e1e61cf7571c77dba0e905c38297a Mon Sep 17 00:00:00 2001 From: Vladimirs Ambrosovs Date: Sat, 30 May 2015 11:20:15 +0300 Subject: [PATCH] staging: iio_simple_dummy: fix init function This patch fixes the init function for the iio_simple_dummy driver. The main issues were absence of kfree for the allocated array, and no devices being removed in case the probe function fails, running in a loop. Signed-off-by: Vladimirs Ambrosovs Signed-off-by: Jonathan Cameron --- drivers/staging/iio/iio_simple_dummy.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/staging/iio/iio_simple_dummy.c b/drivers/staging/iio/iio_simple_dummy.c index b47bf9fb64be..d0a99637007c 100644 --- a/drivers/staging/iio/iio_simple_dummy.c +++ b/drivers/staging/iio/iio_simple_dummy.c @@ -722,9 +722,16 @@ static __init int iio_dummy_init(void) for (i = 0; i < instances; i++) { ret = iio_dummy_probe(i); if (ret < 0) - return ret; + goto error_remove_devs; } return 0; + +error_remove_devs: + while (i--) + iio_dummy_remove(i); + + kfree(iio_dummy_devs); + return ret; } module_init(iio_dummy_init); -- 2.39.2