Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>
---
 drivers/media/video/v4l2-event.c |    6 ++++--
 drivers/media/video/vivi.c       |    8 ++++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
index c9251a5..9b503aa 100644
--- a/drivers/media/video/v4l2-event.c
+++ b/drivers/media/video/v4l2-event.c
@@ -258,7 +258,8 @@ int v4l2_event_subscribe(struct v4l2_fh *fh,
                return -ENOMEM;
        }
 
-       if (sub->type == V4L2_EVENT_CTRL_CH_VALUE) {
+       if (sub->type == V4L2_EVENT_CTRL_CH_VALUE ||
+                       sub->type == V4L2_EVENT_CTRL_CH_STATE) {
                ctrl = v4l2_ctrl_find(fh->ctrl_handler, sub->id);
                if (ctrl == NULL)
                        return -EINVAL;
@@ -341,7 +342,8 @@ int v4l2_event_unsubscribe(struct v4l2_fh *fh,
                list_del(&sev->list);
 
        spin_unlock_irqrestore(&fh->vdev->fh_lock, flags);
-       if (sev->type == V4L2_EVENT_CTRL_CH_VALUE) {
+       if (sev->type == V4L2_EVENT_CTRL_CH_VALUE ||
+                       sev->type == V4L2_EVENT_CTRL_CH_STATE) {
                struct v4l2_ctrl *ctrl = v4l2_ctrl_find(fh->ctrl_handler, 
sev->id);
 
                if (ctrl)
diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
index 8790e03..a8d91ce 100644
--- a/drivers/media/video/vivi.c
+++ b/drivers/media/video/vivi.c
@@ -987,9 +987,13 @@ static int vidioc_s_input(struct file *file, void *priv, 
unsigned int i)
 static int vidioc_subscribe_event(struct v4l2_fh *fh,
                                struct v4l2_event_subscription *sub)
 {
-       if (sub->type != V4L2_EVENT_CTRL_CH_VALUE)
+       switch (sub->type) {
+       case V4L2_EVENT_CTRL_CH_VALUE:
+       case V4L2_EVENT_CTRL_CH_STATE:
+               return v4l2_event_subscribe(fh, sub);
+       default:
                return -EINVAL;
-       return v4l2_event_subscribe(fh, sub);
+       }
 }
 
 /* --- controls ---------------------------------------------- */
-- 
1.7.1

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