]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
usb: gadget: f_hid: Add missing error code
authorEthan Tidmore <ethantidmore06@gmail.com>
Thu, 2 Apr 2026 18:00:08 +0000 (13:00 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 7 Apr 2026 11:50:14 +0000 (13:50 +0200)
Currently in cdev_alloc() error path no error code is assigned.

Assign error code '-ENOMEM'.

Detected by Smatch:
drivers/usb/gadget/function/f_hid.c:1291 hidg_bind()
warn: missing error code 'status'

Fixes: 81ebd43cc0d6d ("usb: gadget: f_hid: don't call cdev_init while cdev in use")
Signed-off-by: Ethan Tidmore <ethantidmore06@gmail.com>
Acked-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
Link: https://patch.msgid.link/20260402180008.64233-1-ethantidmore06@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/f_hid.c

index e0c3f39ee95e7b0576b2a36f8cdea5f20e044856..c5a12a6760eab876f174f8acd3060eed80b089d1 100644 (file)
@@ -1278,8 +1278,10 @@ static int hidg_bind(struct usb_configuration *c, struct usb_function *f)
 
        /* create char device */
        hidg->cdev = cdev_alloc();
-       if (!hidg->cdev)
+       if (!hidg->cdev) {
+               status = -ENOMEM;
                goto fail_free_all;
+       }
        hidg->cdev->ops = &f_hidg_fops;
 
        status = cdev_device_add(hidg->cdev, &hidg->dev);