From ffc83aa24aa2493603d97390d22785930f67f232 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 28 Sep 2021 14:36:44 -0400 Subject: [PATCH] USB bus drivers: Add missing iterator increments. Should fix boot hang regressions introduced in hrev55455 in the fix for #17275. --- src/add-ons/kernel/busses/usb/ehci.cpp | 2 ++ src/add-ons/kernel/busses/usb/ohci.cpp | 2 ++ src/add-ons/kernel/busses/usb/uhci.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/add-ons/kernel/busses/usb/ehci.cpp b/src/add-ons/kernel/busses/usb/ehci.cpp index d8713479a2..d62dfe3614 100644 --- a/src/add-ons/kernel/busses/usb/ehci.cpp +++ b/src/add-ons/kernel/busses/usb/ehci.cpp @@ -1558,6 +1558,8 @@ EHCI::AddPendingTransfer(Transfer *transfer, ehci_qh *queueHead, delete data; return B_DEV_RESOURCE_CONFLICT; } + + it = it->link; } if (fLastTransfer) diff --git a/src/add-ons/kernel/busses/usb/ohci.cpp b/src/add-ons/kernel/busses/usb/ohci.cpp index 2490c5b534..a991be2147 100644 --- a/src/add-ons/kernel/busses/usb/ohci.cpp +++ b/src/add-ons/kernel/busses/usb/ohci.cpp @@ -1460,6 +1460,8 @@ OHCI::_SubmitTransfer(Transfer *transfer) _FreeDescriptorChain(firstDescriptor); return B_DEV_RESOURCE_CONFLICT; } + + it = it->link; } result = _AddPendingTransfer(transfer, endpoint, firstDescriptor, diff --git a/src/add-ons/kernel/busses/usb/uhci.cpp b/src/add-ons/kernel/busses/usb/uhci.cpp index 86c13cd6f2..f6a500b1f7 100644 --- a/src/add-ons/kernel/busses/usb/uhci.cpp +++ b/src/add-ons/kernel/busses/usb/uhci.cpp @@ -1076,6 +1076,8 @@ UHCI::AddPendingTransfer(Transfer *transfer, Queue *queue, delete data; return B_DEV_RESOURCE_CONFLICT; } + + it = it->link; } if (fLastTransfer)