0022-xhci-fix-port-indexing.patch 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. From 32c6d97e2a80c2e74dd9daf74281a89d1a05faaa Mon Sep 17 00:00:00 2001
  2. From: Sven Anderson <sven@anderson.de>
  3. Date: Mon, 13 Jan 2025 19:51:41 +0100
  4. Subject: [PATCH 22/26] xhci: fix port indexing
  5. ---
  6. grub-core/bus/usb/xhci.c | 10 +++++-----
  7. 1 file changed, 5 insertions(+), 5 deletions(-)
  8. diff --git a/grub-core/bus/usb/xhci.c b/grub-core/bus/usb/xhci.c
  9. index f4591ffb5..dc89b9619 100644
  10. --- a/grub-core/bus/usb/xhci.c
  11. +++ b/grub-core/bus/usb/xhci.c
  12. @@ -2250,7 +2250,7 @@ grub_xhci_detect_dev (grub_usb_controller_t dev, int port, int *changed)
  13. *changed = 0;
  14. grub_dprintf("xhci", "%s: dev=%p USB%d_%d port %d\n", __func__, dev,
  15. - x->psids[port-1].major, x->psids[port-1].minor, port);
  16. + x->psids[port].major, x->psids[port].minor, port);
  17. /* On shutdown advertise all ports as disconnected. This will trigger
  18. * a gracefull detatch. */
  19. @@ -2285,13 +2285,13 @@ grub_xhci_detect_dev (grub_usb_controller_t dev, int port, int *changed)
  20. if (!(portsc & GRUB_XHCI_PORTSC_CCS))
  21. return GRUB_USB_SPEED_NONE;
  22. - for (grub_uint8_t i = 0; i < 16 && x->psids[port-1].psids[i].id > 0; i++)
  23. + for (grub_uint8_t i = 0; i < 16 && x->psids[port].psids[i].id > 0; i++)
  24. {
  25. - if (x->psids[port-1].psids[i].id == speed)
  26. + if (x->psids[port].psids[i].id == speed)
  27. {
  28. grub_dprintf("xhci", "%s: grub_usb_speed = %d\n", __func__,
  29. - x->psids[port-1].psids[i].grub_usb_speed );
  30. - return x->psids[port-1].psids[i].grub_usb_speed;
  31. + x->psids[port].psids[i].grub_usb_speed );
  32. + return x->psids[port].psids[i].grub_usb_speed;
  33. }
  34. }
  35. --
  36. 2.39.5