The epoll function expects that whenever the poll file op is
called, the poll_wait function is also called. That didn't
always happen in media_request_poll(). Fix this, otherwise
epoll() would timeout when it shouldn't.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
        if (!(poll_requested_events(wait) & EPOLLPRI))
                return 0;
 
+       poll_wait(filp, &req->poll_wait, wait);
        spin_lock_irqsave(&req->lock, flags);
        if (req->state == MEDIA_REQUEST_STATE_COMPLETE) {
                ret = EPOLLPRI;
                goto unlock;
        }
 
-       poll_wait(filp, &req->poll_wait, wait);
-
 unlock:
        spin_unlock_irqrestore(&req->lock, flags);
        return ret;