linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Input: bcm5974 - Set missing URB_NO_TRANSFER_DMA_MAP urb flag
@ 2022-06-06 11:36 Mathias Nyman
  2022-06-07  9:21 ` Thorsten Leemhuis
  0 siblings, 1 reply; 2+ messages in thread
From: Mathias Nyman @ 2022-06-06 11:36 UTC (permalink / raw)
  To: rydberg; +Cc: linux-input, dmitry.torokhov, mathias.nyman, stable

The bcm5974 driver does the allocation and dma mapping of the usb urb
data buffer, but driver does not set the URB_NO_TRANSFER_DMA_MAP flag
to let usb core know the buffer is already mapped.

usb core tries to map the already mapped buffer, causing a warning:
"xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory"

Fix this by setting the URB_NO_TRANSFER_DMA_MAP, letting usb core
know buffer is already mapped by bcm5974 driver

Cc: stable@vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/input/mouse/bcm5974.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 59a14505b9cd..ca150618d32f 100644
--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -942,17 +942,22 @@ static int bcm5974_probe(struct usb_interface *iface,
 	if (!dev->tp_data)
 		goto err_free_bt_buffer;
 
-	if (dev->bt_urb)
+	if (dev->bt_urb) {
 		usb_fill_int_urb(dev->bt_urb, udev,
 				 usb_rcvintpipe(udev, cfg->bt_ep),
 				 dev->bt_data, dev->cfg.bt_datalen,
 				 bcm5974_irq_button, dev, 1);
 
+		dev->bt_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+	}
+
 	usb_fill_int_urb(dev->tp_urb, udev,
 			 usb_rcvintpipe(udev, cfg->tp_ep),
 			 dev->tp_data, dev->cfg.tp_datalen,
 			 bcm5974_irq_trackpad, dev, 1);
 
+	dev->tp_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+
 	/* create bcm5974 device */
 	usb_make_path(udev, dev->phys, sizeof(dev->phys));
 	strlcat(dev->phys, "/input0", sizeof(dev->phys));
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Input: bcm5974 - Set missing URB_NO_TRANSFER_DMA_MAP urb flag
  2022-06-06 11:36 [PATCH] Input: bcm5974 - Set missing URB_NO_TRANSFER_DMA_MAP urb flag Mathias Nyman
@ 2022-06-07  9:21 ` Thorsten Leemhuis
  0 siblings, 0 replies; 2+ messages in thread
From: Thorsten Leemhuis @ 2022-06-07  9:21 UTC (permalink / raw)
  To: Mathias Nyman, rydberg; +Cc: linux-input, dmitry.torokhov, stable

On 06.06.22 13:36, Mathias Nyman wrote:
> The bcm5974 driver does the allocation and dma mapping of the usb urb
> data buffer, but driver does not set the URB_NO_TRANSFER_DMA_MAP flag
> to let usb core know the buffer is already mapped.
> 
> usb core tries to map the already mapped buffer, causing a warning:
> "xhci_hcd 0000:00:14.0: rejecting DMA map of vmalloc memory"
> 
> Fix this by setting the URB_NO_TRANSFER_DMA_MAP, letting usb core
> know buffer is already mapped by bcm5974 driver

BTW @reviewers & @maintainers: this is fixing a regression, hence please
prioritize this. For details see "Prioritize work on fixing regressions"
in Documentation/process/handling-regressions.rst or
docs.kernel.org/process/handling-regressions.html .

> Cc: stable@vger.kernel.org
> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>

If you need to respin this for one reason or another, could you please
add proper 'Link:' tags pointing to all reports about this issue? e.g.
like this:

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

These tags are important, as they allow others to look into the
backstory now and years from now. That is why they should be placed in
cases like this, as Documentation/process/submitting-patches.rst and
Documentation/process/5.Posting.rst explain in more detail.
Additionally, my regression tracking bot ‘regzbot’ relies on these tags
to automatically connect reports with patches that are posted or
committed to fix the reported issue.

> [...]

Ciao, Thorsten

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-06-07  9:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-06 11:36 [PATCH] Input: bcm5974 - Set missing URB_NO_TRANSFER_DMA_MAP urb flag Mathias Nyman
2022-06-07  9:21 ` Thorsten Leemhuis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).