mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-02-22 19:32:20 +00:00
Because of the PCI refactoring that happened in the previous commit d793cc4da365ef960a239ff32589efc2635072bd, the ability to fully remove a PCI device was altered. The refactoring was correct, but the usage of a generic function to pass the same reference for both BusDevice, PciDevice and Any + Send + Sync causes the Arc::ptr_eq() function to behave differently than expected, as it does not match the references later in the code. That means we were not able to remove the device reference from the MMIO and/or PIO buses, which was leading to some bus range overlapping error once we were trying to add a device again to the previous range that should have been removed. Fixes #1802 Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>