From: Vladimirs Ambrosovs Date: Sat, 30 May 2015 08:20:15 +0000 (+0300) Subject: staging: iio_simple_dummy: fix init function X-Git-Tag: v4.2-rc1~88^2~256^2~22 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b3f6af36e52e1e61cf7571c77dba0e905c38297a;p=karo-tx-linux.git 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 --- 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);