• Stefan Richter's avatar
    firewire: core: fix DMA mapping direction · 0b6c4857
    Stefan Richter authored
    Seen with recent libdc1394:  If a client mmap()s the buffer of an
    isochronous reception buffer with PROT_READ|PROT_WRITE instead of just
    PROT_READ, firewire-core sets the wrong DMA mapping direction during
    buffer initialization.
    
    The fix is to split fw_iso_buffer_init() into allocation and DMA mapping
    and to perform the latter after both buffer and DMA context were
    allocated.  Buffer allocation and context allocation may happen in any
    order, but we need the context type (reception or transmission) in order
    to set the DMA direction of the buffer.
    Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    0b6c4857
core-cdev.c 46.5 KB