From 263127f21aa87f333b42d876359519fd766b6bbe Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Fri, 9 Feb 2024 17:13:59 +0200 Subject: [PATCH] Kernel: Actually report nvme request status Due to an incorrect lambda scope capture declaration, we would copy the result status at the start of the function, before it actually got updated with the final status. Capture it by reference instead to ensure we report the updated result. --- Kernel/Devices/Storage/NVMe/NVMeQueue.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Devices/Storage/NVMe/NVMeQueue.cpp b/Kernel/Devices/Storage/NVMe/NVMeQueue.cpp index 480e2be114..7c6e2d39f8 100644 --- a/Kernel/Devices/Storage/NVMe/NVMeQueue.cpp +++ b/Kernel/Devices/Storage/NVMe/NVMeQueue.cpp @@ -111,7 +111,7 @@ void NVMeQueue::complete_current_request(u16 cmdid, u16 status) auto current_request = request_pdu.request; AsyncDeviceRequest::RequestResult req_result = AsyncDeviceRequest::Success; - ScopeGuard guard = [req_result, status, &request_pdu] { + ScopeGuard guard = [&req_result, status, &request_pdu] { if (request_pdu.request) request_pdu.request->complete(req_result); if (request_pdu.end_io_handler)