drivers/usb/host/xhci-pci.c | 2 ++ 1 file changed, 2 insertions(+)
Allow devices to have dma operations beyond 64K, and avoid warnings such
as:
xhci_hcd 0000:00:14.0: mapping sg segment longer than device claims to support [len=98304] [max=65536]
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
To: Mathias Nyman <mathias.nyman@intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/usb/host/xhci-pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 7bccbe50bab1..116a2f328772 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -453,6 +453,8 @@ static int xhci_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
if (xhci->quirks & XHCI_DEFAULT_PM_RUNTIME_ALLOW)
pm_runtime_allow(&dev->dev);
+ dma_set_max_seg_size(&dev->dev, UINT_MAX);
+
return 0;
put_usb3_hcd:
---
base-commit: 0ec5a38bf8499f403f81cb81a0e3a60887d1993c
change-id: 20221213-xhci-max_seg_size-de366fbf12bc
Best regards,
--
Ricardo Ribalda <ribalda@chromium.org>
On 13.12.2022 17.08, Ricardo Ribalda wrote: > Allow devices to have dma operations beyond 64K, and avoid warnings such > as: > > xhci_hcd 0000:00:14.0: mapping sg segment longer than device claims to support [len=98304] [max=65536] > > Cc: Takashi Iwai <tiwai@suse.de> > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > To: Mathias Nyman <mathias.nyman@intel.com> > To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: linux-usb@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > --- > drivers/usb/host/xhci-pci.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c > index 7bccbe50bab1..116a2f328772 100644 > --- a/drivers/usb/host/xhci-pci.c > +++ b/drivers/usb/host/xhci-pci.c > @@ -453,6 +453,8 @@ static int xhci_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) > if (xhci->quirks & XHCI_DEFAULT_PM_RUNTIME_ALLOW) > pm_runtime_allow(&dev->dev); > > + dma_set_max_seg_size(&dev->dev, UINT_MAX); > + Thanks, this should be ok. Preferred max segment size of sg list would be 64k as xHC hardware has 64k TRB payload size limit, but xhci driver will take care of larger segments, splitting them into 64k chunks. -Mathias
© 2016 - 2025 Red Hat, Inc.