57ddd9abc7
The 1.1 revision of the XHCI specification added an extra 5 bits to the Max Scratchpad Bufs field of HCSPARAMS2 that newer controllers make use of. Not honoring these bits means we're not allocating as many scratchpad buffers as the controller expects, which means it will interpret some uninitialized values from the end of the pointer array as scratchpad buffer pointers, which obviously doesn't end well. Let's fix that. BRANCH=none BUG=chrome-os-partner:42279 TEST=Makes a USB-related memory corruption issue disappear. Original-Change-Id: I7c907492339262bda31cdd2b5c0b588de7df8544 Original-Signed-off-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/291681 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Change-Id: Iba1007bfebffe1f564f78bb875fff9ba0fe11a38 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: http://review.coreboot.org/11189 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com> |
||
---|---|---|
.. | ||
TODO | ||
dwc2.c | ||
dwc2.h | ||
dwc2_private.h | ||
dwc2_rh.c | ||
ehci.c | ||
ehci.h | ||
ehci_private.h | ||
ehci_rh.c | ||
generic_hub.c | ||
generic_hub.h | ||
ohci.c | ||
ohci.h | ||
ohci_private.h | ||
ohci_rh.c | ||
quirks.c | ||
uhci.c | ||
uhci.h | ||
uhci_private.h | ||
uhci_rh.c | ||
usb.c | ||
usb_dev.c | ||
usbhid.c | ||
usbhub.c | ||
usbinit.c | ||
usbmsc.c | ||
xhci.c | ||
xhci.h | ||
xhci_commands.c | ||
xhci_debug.c | ||
xhci_devconf.c | ||
xhci_events.c | ||
xhci_private.h | ||
xhci_rh.c |