From 2ae9de77bb3ff877d87ba69691b490b2846b979b Mon Sep 17 00:00:00 2001 From: Liav A Date: Fri, 19 Mar 2021 19:19:15 +0200 Subject: [PATCH] Kernel/AHCI: Reorder complete_current_request Clear the m_current_request before signalling the end of request. --- Kernel/Storage/AHCIPort.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/Storage/AHCIPort.cpp b/Kernel/Storage/AHCIPort.cpp index 64638e17dd..d0e01bfe16 100644 --- a/Kernel/Storage/AHCIPort.cpp +++ b/Kernel/Storage/AHCIPort.cpp @@ -498,8 +498,9 @@ void AHCIPort::start_request(AsyncBlockDeviceRequest& request) void AHCIPort::complete_current_request(AsyncDeviceRequest::RequestResult result) { VERIFY(m_current_request); - m_current_request->complete(result); + auto current_request = m_current_request; m_current_request.clear(); + current_request->complete(result); } bool AHCIPort::spin_until_ready() const @@ -520,7 +521,6 @@ bool AHCIPort::spin_until_ready() const bool AHCIPort::access_device(AsyncBlockDeviceRequest::RequestType direction, u64 lba, u8 block_count) { - VERIFY(m_lock.is_locked()); VERIFY(m_connected_device); VERIFY(is_operable()); VERIFY(m_lock.is_locked());