| From 8d2e77b39b8fecb794e19cd006a12f90b14dd077 Mon Sep 17 00:00:00 2001 |
| From: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| Date: Wed, 4 Dec 2019 04:35:25 +0100 |
| Subject: HID: alps: Fix an error handling path in 'alps_input_configured()' |
| |
| From: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| |
| commit 8d2e77b39b8fecb794e19cd006a12f90b14dd077 upstream. |
| |
| They are issues: |
| - if 'input_allocate_device()' fails and return NULL, there is no need |
| to free anything and 'input_free_device()' call is a no-op. It can |
| be axed. |
| - 'ret' is known to be 0 at this point, so we must set it to a |
| meaningful value before returning |
| |
| Fixes: 2562756dde55 ("HID: add Alps I2C HID Touchpad-Stick support") |
| Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/hid/hid-alps.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/hid/hid-alps.c |
| +++ b/drivers/hid/hid-alps.c |
| @@ -730,7 +730,7 @@ static int alps_input_configured(struct |
| if (data->has_sp) { |
| input2 = input_allocate_device(); |
| if (!input2) { |
| - input_free_device(input2); |
| + ret = -ENOMEM; |
| goto exit; |
| } |
| |