• Darron Broad's avatar
    V4L/DVB (9227): MFE: Add multi-frontend mutual exclusion · 59b1842d
    Darron Broad authored
    This add frontend R/W mutual exclusion.
    Prior to this point in time it was possible to open both
    frontends simultaneously which an MFE card cannot support.
    
    In order to stop this, a delayed open is performed which
    has the following function:
    
    -  Return EBUSY after a configurable amount of time
       if a frontend is unavailable due to the other being
       in use.
    
    -  Only allow opening of a frontend if the kernel thread
       of the other has stopped.
    
    This solution was chosen to allow switching between
    frontends to work as seamlessly as possible. When both
    frontends are actually opened simultaneously then one
    will only open, but if quick switching is performed
    between one of many then the new open will succeed in
    a clean fashion rather than interrupting a kernel
    thread.
    Signed-off-by: default avatarDarron Broad <darron@kewl.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    59b1842d
videobuf-dvb.c 9.69 KB