usb: add a hcd_uses_dma helper
The USB buffer allocation code is the only place in the usb core (and in fact the whole kernel) that uses is_device_dma_capable, while the URB mapping code uses the uses_dma flag in struct usb_bus. Switch the buffer allocation to use the uses_dma flag used by the rest of the USB code, and create a helper in hcd.h that checks this flag as well as the CONFIG_HAS_DMA to simplify the caller a bit. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20190811080520.21712-3-hch@lst.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
このコミットが含まれているのは:
@@ -4608,7 +4608,7 @@ static int _dwc2_hcd_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
|
||||
|
||||
buf = urb->transfer_buffer;
|
||||
|
||||
if (hcd->self.uses_dma) {
|
||||
if (hcd_uses_dma(hcd)) {
|
||||
if (!buf && (urb->transfer_dma & 3)) {
|
||||
dev_err(hsotg->dev,
|
||||
"%s: unaligned transfer with no transfer_buffer",
|
||||
|
新しいイシューから参照
ユーザーをブロックする