• Christoph Hellwig's avatar
    usb: don't inherity DMA properties for USB devices · 6eb0233e
    Christoph Hellwig authored
    As the comment in usb_alloc_dev correctly states, drivers can't use
    the DMA API on usb device, and at least calling dma_set_mask on them
    is highly dangerous.  Unlike what the comment states upper level drivers
    also can't really use the presence of a dma mask to check for DMA
    support, as the dma_mask is set by default for most busses.
    
    Setting the dma_mask comes from "[PATCH] usbcore dma updates (and doc)"
    in BitKeeper times, as it seems like it was primarily for setting the
    NETIF_F_HIGHDMA flag in USB drivers, something that has long been
    fixed up since.
    
    Setting the dma_pfn_offset comes from commit b44bbc46
    ("usb: core: setup dma_pfn_offset for USB devices and, interfaces"),
    which worked around the fact that the scsi_calculate_bounce_limits
    functions wasn't going through the proper driver interface to query
    DMA information, but that function was removed in commit 21e07dba
    ("scsi: reduce use of block bounce buffers") years ago.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    6eb0233e
usb.c 28.7 KB