usb: gadget: hid: fix error code in do_config()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 11 Oct 2021 12:37:39 +0000 (15:37 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Oct 2021 07:31:21 +0000 (09:31 +0200)
Return an error code if usb_get_function() fails.  Don't return success.

Fixes: 4bc8a33f2407 ("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>
drivers/usb/gadget/legacy/hid.c

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