linux_dsm_epyc7002/drivers/usb
Mathias Nyman 57ea7b257a xhci: fix bounce buffer usage for non-sg list case
commit d4a610635400ccc382792f6be69427078541c678 upstream.

xhci driver may in some special cases need to copy small amounts
of payload data to a bounce buffer in order to meet the boundary
and alignment restrictions set by the xHCI specification.

In the majority of these cases the data is in a sg list, and
driver incorrectly assumed data is always in urb->sg when using
the bounce buffer.

If data instead is contiguous, and in urb->transfer_buffer, we may still
need to bounce buffer a small part if data starts very close (less than
packet size) to a 64k boundary.

Check if sg list is used before copying data to/from it.

Fixes: f9c589e142 ("xhci: TD-fragment, align the unsplittable case with a bounce buffer")
Cc: stable@vger.kernel.org
Reported-by: Andreas Hartmann <andihartmann@01019freenet.de>
Tested-by: Andreas Hartmann <andihartmann@01019freenet.de>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210203113702.436762-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-10 09:29:17 +01:00
..
atm
c67x00
cdns3 usb: cdns3: imx: fix can't create core device the second time issue 2021-01-27 11:55:17 +01:00
chipidea usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data() 2021-01-12 20:18:19 +01:00
class USB: usblp: don't call usb_set_interface if there's a single alt 2021-02-10 09:29:10 +01:00
common
core USB: add RESET_RESUME quirk for Snapscan 1212 2020-12-21 13:30:07 +01:00
dwc2 usb: dwc2: Fix endpoint direction check in ep_from_windex 2021-02-10 09:29:10 +01:00
dwc3 usb: dwc3: fix clock issue during resume in OTG mode 2021-02-10 09:29:10 +01:00
early
gadget usb: gadget: aspeed: add missing of_node_put 2021-02-10 09:29:10 +01:00
host xhci: fix bounce buffer usage for non-sg list case 2021-02-10 09:29:17 +01:00
image
isp1760
misc USB: yurex: fix control-URB timeout handling 2021-01-12 20:18:20 +01:00
mon
mtu3 usb: mtu3: fix memory corruption in mtu3_debugfs_regset() 2020-12-26 16:02:38 +01:00
musb Revert "usb: musb: convert to devm_platform_ioremap_resource_byname" 2020-11-13 14:30:23 +01:00
phy
renesas_usbhs usb: renesas_usbhs: Clear pipe running flag in usbhs_pkt_pop() 2021-02-10 09:29:10 +01:00
roles
serial USB: serial: option: Adding support for Cinterion MV31 2021-02-10 09:29:10 +01:00
storage usb: uas: Add PNY USB Portable SSD to unusual_uas 2021-01-12 20:18:19 +01:00
typec usb: typec: Fix copy paste error for NVIDIA alt-mode description 2021-01-19 18:27:27 +01:00
usbip usb: usbip: vhci_hcd: protect shift size 2021-01-12 20:18:19 +01:00
Kconfig
Makefile
usb-skeleton.c