summaryrefslogtreecommitdiff
path: root/kernel/src/arch/x86_64/drivers/pci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/arch/x86_64/drivers/pci.cpp')
-rw-r--r--kernel/src/arch/x86_64/drivers/pci.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/src/arch/x86_64/drivers/pci.cpp b/kernel/src/arch/x86_64/drivers/pci.cpp
index 88d5f36..db259f8 100644
--- a/kernel/src/arch/x86_64/drivers/pci.cpp
+++ b/kernel/src/arch/x86_64/drivers/pci.cpp
@@ -2,6 +2,7 @@
#include <cstdint>
pci_driver_t pci_drivers[256];
+int last_pci_drv = 0;
pci_t __pci_load(std::uint8_t bus, std::uint8_t num, std::uint8_t function) {
pci_t pciData;
@@ -19,6 +20,7 @@ void x86_64::pci::reg(void (*pcidrv)(pci_t, std::uint8_t, std::uint8_t, std::uin
pci_drivers[i]._class = _class;
pci_drivers[i].subclass = subclass;
pci_drivers[i].pcidrv = pcidrv;
+ return;
}
}
}
@@ -27,7 +29,6 @@ void __pci_launch(pci_t pci, std::uint8_t bus, std::uint8_t device, std::uint8_t
for (std::uint16_t i = 0; i < 256; i++) {
if (pci_drivers[i].used && pci_drivers[i]._class == pci._class && pci_drivers[i].subclass == pci.subclass) {
pci_drivers[i].pcidrv(pci, bus, device, function);
- return;
}
}
}