On Thu Jun 19 12:23:48 2025 +0300, Sakari Ailus wrote:
> v4l2_ctrl_handler_free() no longer resets the handler's error code.
> Document it.
> 
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Reviewed-by: Hans Verkuil <hverk...@xs4all.nl>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 Documentation/driver-api/media/v4l2-controls.rst | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

---

diff --git a/Documentation/driver-api/media/v4l2-controls.rst 
b/Documentation/driver-api/media/v4l2-controls.rst
index b2e91804829b..fc04907589ab 100644
--- a/Documentation/driver-api/media/v4l2-controls.rst
+++ b/Documentation/driver-api/media/v4l2-controls.rst
@@ -110,6 +110,7 @@ For sub-device drivers:
 
        v4l2_ctrl_handler_free(&foo->ctrl_handler);
 
+:c:func:`v4l2_ctrl_handler_free` does not touch the handler's ``error`` field.
 
 2) Add controls:
 
@@ -191,12 +192,8 @@ These functions are typically called right after the
                        V4L2_CID_TEST_PATTERN, ARRAY_SIZE(test_pattern) - 1, 0,
                        0, test_pattern);
        ...
-       if (foo->ctrl_handler.error) {
-               int err = foo->ctrl_handler.error;
-
-               v4l2_ctrl_handler_free(&foo->ctrl_handler);
-               return err;
-       }
+       if (foo->ctrl_handler.error)
+               return v4l2_ctrl_handler_free(&foo->ctrl_handler);
 
 The :c:func:`v4l2_ctrl_new_std` function returns the v4l2_ctrl pointer to
 the new control, but if you do not need to access the pointer outside the

Reply via email to