[syslinux] [PATCH] pci: resize pci_device arrays

Sebastian Herbszt herbszt at gmx.de
Sat Jul 19 13:26:48 PDT 2008


pci_bus->pci_device get's populated with functions so it
should take up to MAX_PCI_DEVICES * MAX_PCI_FUNC elements.
pci_device_list->pci_device get's populated with functions
for every possible pci bus. Therefore it should take up to
MAX_PCI_BUS * MAX_PCI_DEVICES * MAX_PCI_FUNC elements.
Also adjust count variable types.

- Sebastian

Index: syslinux-3.71-pre14-8-gb8f5d7d/com32/include/sys/pci.h
===================================================================
--- syslinux-3.71-pre14-8-gb8f5d7d.orig/com32/include/sys/pci.h	2008-06-15 15:33:09.000000000 +0200
+++ syslinux-3.71-pre14-8-gb8f5d7d/com32/include/sys/pci.h	2008-07-19 01:28:33.000000000 +0200
@@ -29,18 +29,18 @@
 
 struct pci_bus {
 	uint16_t id;
-	struct pci_device *pci_device[MAX_PCI_DEVICES];
-	uint8_t pci_device_count;
+	struct pci_device *pci_device[MAX_PCI_DEVICES * MAX_PCI_FUNC];
+	uint32_t pci_device_count;
 };
 
 struct pci_device_list {
-	struct pci_device pci_device[MAX_PCI_DEVICES];
-	uint8_t count;
+	struct pci_device pci_device[MAX_PCI_BUSES * MAX_PCI_DEVICES * MAX_PCI_FUNC];
+	uint32_t count;
 };
 
 struct pci_bus_list {
 	struct pci_bus pci_bus[MAX_PCI_BUSES];
-	uint8_t count;
+	uint32_t count;
 };
 
 struct match {




More information about the Syslinux mailing list