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:

committed by
Greg Kroah-Hartman

parent
92a80e1ca2
commit
d8da6328ec
@@ -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);
|
||||||
|
Reference in New Issue
Block a user