From e7c1148ec6874a4ae4c916e5898d826368640b71 Mon Sep 17 00:00:00 2001 From: Liav A Date: Fri, 5 May 2023 09:03:38 +0300 Subject: [PATCH] Kernel/USB: Handle NAK correctly in a transfer status bits --- Kernel/Bus/USB/UHCI/UHCIController.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Kernel/Bus/USB/UHCI/UHCIController.cpp b/Kernel/Bus/USB/UHCI/UHCIController.cpp index e3d38a8f3c..ce5be8aedb 100644 --- a/Kernel/Bus/USB/UHCI/UHCIController.cpp +++ b/Kernel/Bus/USB/UHCI/UHCIController.cpp @@ -561,6 +561,11 @@ size_t UHCIController::poll_transfer_queue(QueueHead& transfer_queue) while (descriptor) { u32 status = descriptor->status(); + if (status & TransferDescriptor::StatusBits::NAKReceived) { + transfer_still_in_progress = false; + break; + } + if (status & TransferDescriptor::StatusBits::Active) { transfer_still_in_progress = true; break;