diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c index ae96d34b772..f3d16ab2f89 100644 --- a/drivers/media/video/v4l2-event.c +++ b/drivers/media/video/v4l2-event.c @@ -227,6 +227,11 @@ int v4l2_event_subscribe(struct v4l2_fh *fh, return -EINVAL; } + if (!fh->vdev) { + pr_err("%s: fh->vdev is NULL\n", __func__); + return -EIO; + } + sev = kzalloc(sizeof(*sev) + sizeof(struct v4l2_kevent) * elems, GFP_KERNEL); if (!sev) return -ENOMEM; @@ -242,11 +247,6 @@ int v4l2_event_subscribe(struct v4l2_fh *fh, sev->merge = ctrls_merge; } - if (!fh->vdev) { - pr_err("%s: fh->vdev is NULL\n", __func__); - return -EIO; - } - spin_lock_irqsave(&fh->vdev->fh_lock, flags); found_ev = v4l2_event_subscribed(fh, sub->type, sub->id); if (!found_ev)