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@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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;