Skip to content
  • Ian Abbott's avatar
    a4965d98
    staging: comedi: comedi_isadma: Use a non-NULL device for DMA API · a4965d98
    Ian Abbott authored
    
    
    The "comedi_isadma" module calls `dma_alloc_coherent()` and
    `dma_free_coherent()` with a NULL device pointer which is no longer
    allowed.  If the `hw_dev` member of the `struct comedi_device` has been
    set to a valid device, that can be used instead.  Unfortunately, all the
    current users of the "comedi_isadma" module leave the `hw_dev` member
    set to NULL.  In that case, fall back to using the comedi "class" device
    pointed to by the `class_dev` member if that is non-NULL.  In that case,
    make it "DMA-capable" with a coherent DMA mask set to the ISA bus limit
    of 16MB (24 bits).
    
    Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a4965d98
    staging: comedi: comedi_isadma: Use a non-NULL device for DMA API
    Ian Abbott authored
    
    
    The "comedi_isadma" module calls `dma_alloc_coherent()` and
    `dma_free_coherent()` with a NULL device pointer which is no longer
    allowed.  If the `hw_dev` member of the `struct comedi_device` has been
    set to a valid device, that can be used instead.  Unfortunately, all the
    current users of the "comedi_isadma" module leave the `hw_dev` member
    set to NULL.  In that case, fall back to using the comedi "class" device
    pointed to by the `class_dev` member if that is non-NULL.  In that case,
    make it "DMA-capable" with a coherent DMA mask set to the ISA bus limit
    of 16MB (24 bits).
    
    Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading