Check that the control whose events we want to delete is still there.

Normally this will always be the case, but I am not 100% certain if there aren't
any corner cases when a device is forcibly unbound.

In any case, this will satisfy static checkers and simply make it more robust.

Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>
Reported-by: Shaobo <sha...@cs.utah.edu>
---
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c 
b/drivers/media/v4l2-core/v4l2-ctrls.c
index 47001e25fd9e..b9e08e3d6e0e 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -3367,6 +3367,9 @@ static void v4l2_ctrl_del_event(struct 
v4l2_subscribed_event *sev)
 {
        struct v4l2_ctrl *ctrl = v4l2_ctrl_find(sev->fh->ctrl_handler, sev->id);

+       if (ctrl == NULL)
+               return;
+
        v4l2_ctrl_lock(ctrl);
        list_del(&sev->node);
        v4l2_ctrl_unlock(ctrl);
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to