[Bug 215890] Regression in 5.18: bcm5974 trackpad causes error: xhci_hcd rejecting DMA map of vmalloc memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=215890

Mathias Nyman (mathias.nyman@xxxxxxxxxxxxxxx) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mathias.nyman@linux.intel.c
                   |                            |om

--- Comment #11 from Mathias Nyman (mathias.nyman@xxxxxxxxxxxxxxx) ---
Could it be that bcm5974 driver just forgot to set the URB_NO_TRANSFER_DMA_MAP
flag in urb transfer_flags?

If the usb driver does the allocation and dma mapping, and sets
urb->transfer_dma
then it should set that flag. Otherwise usbcore will map the DMA address.

Documentation/driver-api/usb/dma.rst:

- URBs have an additional "transfer_dma" field, as well as a transfer_flags
  bit saying if it's valid.  (Control requests also have "setup_dma", but
  drivers must not use it.)

- "usbcore" will map this DMA address, if a DMA-aware driver didn't do
  it first and set ``URB_NO_TRANSFER_DMA_MAP``.  HCDs
  don't manage dma mappings for URBs.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux