From 3a261f5ee8186b47a50188e7a2da807513916271 Mon Sep 17 00:00:00 2001 From: Liav A Date: Sat, 8 Apr 2023 14:08:54 +0300 Subject: [PATCH] Kernel: Stop lock & unlock repeatedly while reading from a mouse device This was a thing we needed to do in the days where we didn't have safe_memcpy and some wrappers around it to handle possible page faults safely. --- Kernel/Devices/HID/MouseDevice.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/Kernel/Devices/HID/MouseDevice.cpp b/Kernel/Devices/HID/MouseDevice.cpp index 622d0638f7..caa2b9c377 100644 --- a/Kernel/Devices/HID/MouseDevice.cpp +++ b/Kernel/Devices/HID/MouseDevice.cpp @@ -30,7 +30,6 @@ ErrorOr MouseDevice::read(OpenFileDescription&, u64, UserOrKernelBuffer& SpinlockLocker lock(m_queue_lock); while (!m_queue.is_empty() && remaining_space_in_buffer) { auto packet = m_queue.dequeue(); - lock.unlock(); dbgln_if(MOUSE_DEBUG, "Mouse Read: Buttons {:x}", packet.buttons); dbgln_if(MOUSE_DEBUG, "PS2 Mouse: X {}, Y {}, Z {}, W {}, Relative {}", packet.x, packet.y, packet.z, packet.w, packet.buttons); @@ -40,8 +39,6 @@ ErrorOr MouseDevice::read(OpenFileDescription&, u64, UserOrKernelBuffer& TRY(buffer.write(&packet, nread, bytes_read_from_packet)); nread += bytes_read_from_packet; remaining_space_in_buffer -= bytes_read_from_packet; - - lock.lock(); } return nread; }