From 372cd19b6f58c12052966de30b82bdfb908efcd3 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 2 Jul 2026 08:41:11 +0700 Subject: [PATCH] Remove irq from handles on close --- src/scheme/irq.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/scheme/irq.rs b/src/scheme/irq.rs index a8795e5958..ec0570b163 100644 --- a/src/scheme/irq.rs +++ b/src/scheme/irq.rs @@ -412,10 +412,9 @@ impl crate::scheme::KernelScheme for IrqScheme { } fn close(&self, id: usize, token: &mut CleanLockToken) -> Result<()> { - let handles_guard = HANDLES.read(token.token()); - let handle = handles_guard.get(id)?; + let mut handle = HANDLES.write(token.token()).remove(id)?; - if let &Handle::Irq { + if let Handle::Irq { irq: handle_irq, .. } = handle && handle_irq > BASE_IRQ_COUNT