media: v4l2-ctrls: Set error v4l2_ctrl_new_fwnode_properties consistently

The vast majority of the callers of v4l2_ctrl_new_fwnode_properties() do
check the returned error code but the function does not set the control
handler's error on failure. This will make error handling more complicated
and prone for bugs.

Always assign the control handler's error field on error in
v4l2_ctrl_new_fwnode_properties().

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
Sakari Ailus
2025-11-11 13:07:29 +02:00
committed by Hans Verkuil
parent 2759816f16
commit e3d5436c70
2 changed files with 5 additions and 1 deletions

View File

@@ -2780,7 +2780,8 @@ int v4l2_ctrl_new_fwnode_properties(struct v4l2_ctrl_handler *hdl,
orientation_ctrl = V4L2_CAMERA_ORIENTATION_EXTERNAL;
break;
default:
return -EINVAL;
hdl->error = -EINVAL;
return hdl->error;
}
if (!v4l2_ctrl_new_std_menu(hdl, ctrl_ops,
V4L2_CID_CAMERA_ORIENTATION,

View File

@@ -1581,6 +1581,9 @@ int v4l2_ctrl_subdev_log_status(struct v4l2_subdev *sd);
* not overwritten. Callers should register the controls they want to handle
* themselves before calling this function.
*
* This function will set the control handler's error field on failure, just as
* other functions adding controls to the handler.
*
* Return: 0 on success, a negative error code on failure.
*/
int v4l2_ctrl_new_fwnode_properties(struct v4l2_ctrl_handler *hdl,