• Mike Isely's avatar
    V4L/DVB (13230): s2255drv: Don't conditionalize video buffer completion on waiting processes · 1f957257
    Mike Isely authored
    The s2255 driver had logic which aborted processing of a video frame
    if there was no process waiting on the video buffer in question.  That
    simply doesn't work when the application is doing things in an
    asynchronous manner.  If the application went to the trouble to queue
    the buffer in the first place, then the driver should always attempt
    to complete it - even if the application at that moment has its
    attention turned elsewhere.  Applications which always blocked waiting
    for I/O on the capture device would not have been affected by this.
    Applications which *mostly* blocked waiting for I/O on the capture
    device probably only would have been somewhat affected (frame lossage,
    at a rate which goes up as the application blocks less).  Applications
    which never blocked on the capture device (e.g. polling only) however
    would never have been able to receive any video frames, since in that
    case this "is anyone waiting on this?" check on the buffer never would
    have evalutated true.  This patch just deletes that harmful check
    against the buffer's wait queue.
    Signed-off-by: default avatarMike Isely <isely@pobox.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    CC: stable@kernel.org
    1f957257
s2255drv.c 69.3 KB