From: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> input_free_device() should only be used if input_register_device() was not called yet or if it failed. Once device was unregistered use input_unregister_device() and memory will be freed once last reference to the device is dropped. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> --- drivers/staging/cptm1217/clearpad_tm1217.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/cptm1217/clearpad_tm1217.c b/drivers/staging/cptm1217/clearpad_tm1217.c index e96eee3..42a5f5c 100644 --- a/drivers/staging/cptm1217/clearpad_tm1217.c +++ b/drivers/staging/cptm1217/clearpad_tm1217.c @@ -547,10 +547,8 @@ fail_gpio: fail: /* Clean up before returning failure */ for (i = 0; i < TOUCH_SUPPORTED; i++) { - if (ts->cp_input_info[i].input) { + if (ts->cp_input_info[i].input) input_unregister_device(ts->cp_input_info[i].input); - input_free_device(ts->cp_input_info[i].input); - } } kfree(ts); return retval; _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel