usb: gadget: hid: fix error code in do_config()

[ Upstream commit 68e7c510fdf4f6167404609da52e1979165649f6 ]

Return an error code if usb_get_function() fails.  Don't return success.

Fixes: 4bc8a33f24 ("usb: gadget: hid: convert to new interface of f_hid")
Acked-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20211011123739.GC15188@kili
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Dan Carpenter
2021-10-11 15:37:39 +03:00
committed by Greg Kroah-Hartman
parent 92a80e1ca2
commit d8da6328ec

View File

@@ -99,8 +99,10 @@ static int do_config(struct usb_configuration *c)
list_for_each_entry(e, &hidg_func_list, node) { list_for_each_entry(e, &hidg_func_list, node) {
e->f = usb_get_function(e->fi); e->f = usb_get_function(e->fi);
if (IS_ERR(e->f)) if (IS_ERR(e->f)) {
status = PTR_ERR(e->f);
goto put; goto put;
}
status = usb_add_function(c, e->f); status = usb_add_function(c, e->f);
if (status < 0) { if (status < 0) {
usb_put_function(e->f); usb_put_function(e->f);