staging: cptm1217: don't call input_free_device() after input_unregister_device()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Wed, 24 Apr 2013 02:40:00 +0000 (10:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 May 2013 21:50:05 +0000 (17:50 -0400)
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>
drivers/staging/cptm1217/clearpad_tm1217.c

index e96eee3ca89821988008254aea2c9633ec0677de..42a5f5c8d3d181e224be7d2b6b2d14ca24be9592 100644 (file)
@@ -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;