diff --git a/Kernel/VirtIO/VirtIO.cpp b/Kernel/VirtIO/VirtIO.cpp index 1d8b20c67b..d004d7f781 100644 --- a/Kernel/VirtIO/VirtIO.cpp +++ b/Kernel/VirtIO/VirtIO.cpp @@ -48,9 +48,6 @@ VirtIODevice::VirtIODevice(PCI::Address address, String class_name) PCI::enable_interrupt_line(pci_address()); enable_irq(); - reset_device(); - set_status_bit(DEVICE_STATUS_ACKNOWLEDGE); - auto capabilities = PCI::get_physical_id(address).capabilities(); for (auto& capability : capabilities) { if (capability.id() == PCI_CAPABILITY_VENDOR_SPECIFIC) { @@ -90,6 +87,9 @@ VirtIODevice::VirtIODevice(PCI::Address address, String class_name) m_isr_cfg = get_config(ConfigurationType::ISR, 0); } + reset_device(); + set_status_bit(DEVICE_STATUS_ACKNOWLEDGE); + set_status_bit(DEVICE_STATUS_DRIVER); }