diff --git a/pcid/src/pcie/mod.rs b/pcid/src/pcie/mod.rs index 27f75a8638..453aef8b0c 100644 --- a/pcid/src/pcie/mod.rs +++ b/pcid/src/pcie/mod.rs @@ -207,8 +207,8 @@ impl CfgAccess for Pcie { impl Drop for Pcie { fn drop(&mut self) { - for address in self.maps.values() { - let _ = unsafe { syscall::physfree(address, 4096) }; + for address in self.maps.lock().unwrap().values().copied() { + let _ = unsafe { syscall::physfree(address as usize, 4096) }; } } }