• Hans Verkuil's avatar
    [media] vb2: add vb2_fileio_is_active and check it more often · 74753cff
    Hans Verkuil authored
    Added a vb2_fileio_is_active inline function that returns true if fileio
    is in progress. Check for this too in mmap() (you don't want apps mmap()ing
    buffers used by fileio) and expbuf() (same reason).
    
    In addition drivers should be able to check for this in queue_setup() to
    return an error if an attempt is made to read() or write() with
    V4L2_FIELD_ALTERNATE being configured. This is illegal (there is no way
    to pass the TOP/BOTTOM information around using file I/O).
    
    However, in order to be able to check for this the init_fileio function
    needs to set q->fileio early on, before the buffers are allocated. So switch
    to using internal functions (__reqbufs, vb2_internal_qbuf and
    vb2_internal_streamon) to skip the fileio check. Well, that's why the internal
    functions were created...
    Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
    Acked-by: default avatarPawel Osciak <pawel@osciak.com>
    Acked-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
    74753cff
videobuf2-core.h 22.3 KB