[PATCH] usb: gadget: f_hid: Add missing error code

Ethan Tidmore posted 1 patch 2 months, 1 week ago
drivers/usb/gadget/function/f_hid.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[PATCH] usb: gadget: f_hid: Add missing error code
Posted by Ethan Tidmore 2 months, 1 week ago
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>
---
 drivers/usb/gadget/function/f_hid.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/f_hid.c b/drivers/usb/gadget/function/f_hid.c
index e0c3f39ee95e..c5a12a6760ea 100644
--- a/drivers/usb/gadget/function/f_hid.c
+++ b/drivers/usb/gadget/function/f_hid.c
@@ -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);
-- 
2.53.0
Re: [PATCH] usb: gadget: f_hid: Add missing error code
Posted by Michael Zimmermann 2 months, 1 week ago
On Thu, Apr 2, 2026 at 8:00 PM Ethan Tidmore <ethantidmore06@gmail.com> wrote:
>
> 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>
> ---
>  drivers/usb/gadget/function/f_hid.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/function/f_hid.c b/drivers/usb/gadget/function/f_hid.c
> index e0c3f39ee95e..c5a12a6760ea 100644
> --- a/drivers/usb/gadget/function/f_hid.c
> +++ b/drivers/usb/gadget/function/f_hid.c
> @@ -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);
> --
> 2.53.0
>

Reviewed-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
Re: [PATCH] usb: gadget: f_hid: Add missing error code
Posted by Peter Korsgaard 2 months, 1 week ago
>>>>> "Ethan" == Ethan Tidmore <ethantidmore06@gmail.com> writes:

 > 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>

-- 
Bye, Peter Korsgaard