aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/uhci-grlib.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2019-08-16 08:24:32 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-21 10:03:35 -0700
commit7b81cb6bddd2c4f2489506771070924bd0ae9902 (patch)
treee93409bd98a306bc26cc19c1c6a29f70029d42a0 /drivers/usb/host/uhci-grlib.c
parentusb: host: ohci-pxa27x: Fix and & vs | typo (diff)
downloadlinux-dev-7b81cb6bddd2c4f2489506771070924bd0ae9902.tar.xz
linux-dev-7b81cb6bddd2c4f2489506771070924bd0ae9902.zip
usb: add a HCD_DMA flag instead of guestimating DMA capabilities
The usb core is the only major place in the kernel that checks for a non-NULL device dma_mask to see if a device is DMA capable. This is generally a bad idea, as all major busses always set up a DMA mask, even if the device is not DMA capable - in fact bus layers like PCI can't even know if a device is DMA capable at enumeration time. This leads to lots of workaround in HCD drivers, and also prevented us from setting up a DMA mask for platform devices by default last time we tried. Replace this guess with an explicit HCD_DMA that is set by drivers that appear to have DMA support. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20190816062435.881-4-hch@lst.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/uhci-grlib.c')
-rw-r--r--drivers/usb/host/uhci-grlib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/host/uhci-grlib.c b/drivers/usb/host/uhci-grlib.c
index 2103b1ed0f8f..0a201a73b196 100644
--- a/drivers/usb/host/uhci-grlib.c
+++ b/drivers/usb/host/uhci-grlib.c
@@ -63,7 +63,7 @@ static const struct hc_driver uhci_grlib_hc_driver = {
/* Generic hardware linkage */
.irq = uhci_irq,
- .flags = HCD_MEMORY | HCD_USB11,
+ .flags = HCD_MEMORY | HCD_DMA | HCD_USB11,
/* Basic lifecycle operations */
.reset = uhci_grlib_init,