asus-laptop: fix asus_input_init error path
PATCH 1/1 asus-laptop: fix asus_input_init error path
This patch includes below fixes:
1. return -ENOMEM instead of 0 if input_allocate_device fail.
2. fix wrong goto if sparse_keymap_setup fail.
3. fix wrong goto if input_register_device fail.
Signed-off-by Axel Lin <[email protected]>
--- drivers/platform/x86/asus-laptop.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
drivers/platform/x86/asus-laptop.c +5 -5
@@ -1123,7 +1123,7 @@ static int asus_input_init(struct asus_laptop *asus) input =input_allocate_device ();if (!input) {pr_info ("Unable to allocate input device\n" ); -return 0 ; +return -ENOMEM ; } input->name ="Asus Laptop extra buttons" ; input->phys =ASUS_LAPTOP_FILE "/input0" ;
@@ -1134,20 +1134,20 @@ static int asus_input_init(struct asus_laptop *asus) error =sparse_keymap_setup (input, asus_keymap,NULL );if (error) {pr_err ("Unable to setup input device keymap\n" ); - goto err_keymap; + goto err_free_dev; } error =input_register_device (input);if (error) {pr_info ("Unable to register input device\n" ); - goto err_device; + goto err_free_keymap; } asus->inputdev = input;return 0 ; -err_keymap: +err_free_keymap:sparse_keymap_free (input); -err_device: +err_free_dev:input_free_device (input);return error; }
Signature · 1 line
1.5.4.3