소스 검색

Kernel/PCI: Verify Access is not initialized before initializing it

There's no valid case where we should try to initialize the Access
singleton multiple times, therefore just assert if it ever happens.
Liav A 3 년 전
부모
커밋
cecfd42916
1개의 변경된 파일2개의 추가작업 그리고 6개의 파일을 삭제
  1. 2 6
      Kernel/Bus/PCI/Access.cpp

+ 2 - 6
Kernel/Bus/PCI/Access.cpp

@@ -88,9 +88,7 @@ UNMAP_AFTER_INIT bool Access::find_and_register_pci_host_bridges_from_acpi_mcfg_
 
 
 UNMAP_AFTER_INIT bool Access::initialize_for_multiple_pci_domains(PhysicalAddress mcfg_table)
 UNMAP_AFTER_INIT bool Access::initialize_for_multiple_pci_domains(PhysicalAddress mcfg_table)
 {
 {
-    if (Access::is_initialized())
-        return false;
-
+    VERIFY(!Access::is_initialized());
     auto* access = new Access();
     auto* access = new Access();
     if (!access->find_and_register_pci_host_bridges_from_acpi_mcfg_table(mcfg_table))
     if (!access->find_and_register_pci_host_bridges_from_acpi_mcfg_table(mcfg_table))
         return false;
         return false;
@@ -101,9 +99,7 @@ UNMAP_AFTER_INIT bool Access::initialize_for_multiple_pci_domains(PhysicalAddres
 
 
 UNMAP_AFTER_INIT bool Access::initialize_for_one_pci_domain()
 UNMAP_AFTER_INIT bool Access::initialize_for_one_pci_domain()
 {
 {
-    if (Access::is_initialized()) {
-        return false;
-    }
+    VERIFY(!Access::is_initialized());
     auto* access = new Access();
     auto* access = new Access();
     auto host_bridge = HostBridge::must_create_with_io_access();
     auto host_bridge = HostBridge::must_create_with_io_access();
     access->add_host_controller(move(host_bridge));
     access->add_host_controller(move(host_bridge));