From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Date: Wed, 24 Apr 2013 02:40:00 +0000 (+0800)
Subject: staging: cptm1217: don't call input_free_device() after input_unregister_device()
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d1d2f83f850e7d57a220fa2c7ce7f0bd5ed6c16d;p=linux.git

staging: cptm1217: don't call input_free_device() after input_unregister_device()

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>
---

diff --git a/drivers/staging/cptm1217/clearpad_tm1217.c b/drivers/staging/cptm1217/clearpad_tm1217.c
index e96eee3ca8982..42a5f5c8d3d18 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;