Set the maximum packet size to 512 for SuperSpeed devices. Signed-off-by: Patrick Rudolph <patrick.rudo...@9elements.com> --- grub-core/bus/usb/usbtrans.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/grub-core/bus/usb/usbtrans.c b/grub-core/bus/usb/usbtrans.c index 85f081fff..72eb9b598 100644 --- a/grub-core/bus/usb/usbtrans.c +++ b/grub-core/bus/usb/usbtrans.c @@ -128,8 +128,12 @@ grub_usb_control_msg (grub_usb_device_t dev, setupdata_addr = grub_dma_get_phys (setupdata_chunk); /* Determine the maximum packet size. */ - if (dev->descdev.maxsize0) + if (dev->descdev.maxsize0 && dev->speed != GRUB_USB_SPEED_SUPER) max = dev->descdev.maxsize0; + else if (dev->descdev.maxsize0 && dev->speed == GRUB_USB_SPEED_SUPER) + max = 1UL << dev->descdev.maxsize0; + else if (dev->speed == GRUB_USB_SPEED_SUPER) + max = 512; else max = 64; -- 2.26.2 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel