media: uvcvideo: Cleanup uvc_ctrl_add_info() error handling
authorHans de Goede <hdegoede@redhat.com>
Tue, 28 Jul 2020 11:22:09 +0000 (13:22 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 10 Sep 2020 12:06:27 +0000 (14:06 +0200)
There is only 1 error exit in uvc_ctrl_add_info(), so using goto style
error handling is not necessary. Also the kfree(ctrl->uvc_data) on error
is not necessary, because the only error exit is for the kzalloc() of
ctrl->uvc_data failing.

Remove all the error handling cruft and simply do "return -ENOMEM" on
kzalloc() failure.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/usb/uvc/uvc_ctrl.c

index b78aba9..dbebc60 100644 (file)
@@ -2011,18 +2011,14 @@ int uvc_ctrl_restore_values(struct uvc_device *dev)
 static int uvc_ctrl_add_info(struct uvc_device *dev, struct uvc_control *ctrl,
        const struct uvc_control_info *info)
 {
-       int ret = 0;
-
        ctrl->info = *info;
        INIT_LIST_HEAD(&ctrl->info.mappings);
 
        /* Allocate an array to save control values (cur, def, max, etc.) */
        ctrl->uvc_data = kzalloc(ctrl->info.size * UVC_CTRL_DATA_LAST + 1,
                                 GFP_KERNEL);
-       if (ctrl->uvc_data == NULL) {
-               ret = -ENOMEM;
-               goto done;
-       }
+       if (!ctrl->uvc_data)
+               return -ENOMEM;
 
        ctrl->initialized = 1;
 
@@ -2030,10 +2026,7 @@ static int uvc_ctrl_add_info(struct uvc_device *dev, struct uvc_control *ctrl,
                "entity %u\n", ctrl->info.entity, ctrl->info.selector,
                dev->udev->devpath, ctrl->entity->id);
 
-done:
-       if (ret < 0)
-               kfree(ctrl->uvc_data);
-       return ret;
+       return 0;
 }
 
 /*