From db79fe48272a5b7987292ec270f3ed36c6638aa5 Mon Sep 17 00:00:00 2001 From: daniel-k Date: Wed, 22 Nov 2017 11:21:27 +0100 Subject: [PATCH] lib/pci: initialize list and ignore special dir entries --- fpga/lib/kernel/pci.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fpga/lib/kernel/pci.c b/fpga/lib/kernel/pci.c index e251f00c8..0de89f260 100644 --- a/fpga/lib/kernel/pci.c +++ b/fpga/lib/kernel/pci.c @@ -40,6 +40,8 @@ int pci_init(struct pci *p) char path[PATH_MAX]; int ret; + list_init(&p->devices); + snprintf(path, sizeof(path), "%s/bus/pci/devices", SYSFS_PATH); dp = opendir(path); @@ -49,6 +51,12 @@ int pci_init(struct pci *p) } while ((e = readdir(dp))) { + + // ignore special entries + if ((strcmp(e->d_name, ".") == 0) || + (strcmp(e->d_name, "..") == 0) ) + continue; + struct pci_device *d = (struct pci_device *) alloc(sizeof(struct pci_device)); struct { const char *s; int *p; } map[] = {