diff --git a/src/kernel/dri/pci/pci.c b/src/kernel/dri/pci/pci.c
index 710ce11..39622a5 100644
--- a/src/kernel/dri/pci/pci.c
+++ b/src/kernel/dri/pci/pci.c
@@ -3,7 +3,7 @@
 #include <io.h>
 #include <log.h>
 
-ushort pci_config_readw(uchar bus, uchar slot, uchar func, uchar offset)
+uint pci_config_readd(uchar bus, uchar slot, uchar func, uchar offset)
 {
 	uint address = (bus << 16) | (slot << 11) | (func << 8) | (offset << 2) | 0x80000000;
 
@@ -12,19 +12,18 @@
 	return inl(PCI_CONFIG_DATA);
 }
 
-struct pci_vendor *pci_check_vendor(uchar bus, uchar slot, uchar func, ushort *v)
+struct pci_vendor *pci_check_vendor(uchar bus, uchar slot, uchar func, uint *v)
 {
-	ushort vendor;
+	uint vendor;
 
-	if ((vendor = pci_config_readw(bus, slot, func, 0) != 0xffff))
+	if ((vendor = pci_config_readd(bus, slot, func, 0) != ~0))
 	{
-		// TODO: check device and return here as well
+		if (v)
+			*v = vendor;
+
+		return pci_vendor_by_id(vendor);
 	}
-
-	if (v)
-		*v = vendor;
-
-	return pci_vendor_by_id(vendor);
+	return NULL;
 }
 
 struct pci_vendor *pci_vendor_by_id(ushort id)
diff --git a/src/kernel/main.c b/src/kernel/main.c
index 8682681..83aa9a8 100644
--- a/src/kernel/main.c
+++ b/src/kernel/main.c
@@ -77,7 +77,6 @@
 	kprintf("initializing tasks\n");
 	init_tasks();
 	kprintf("\ndone initializing tasks\n");
-	asm volatile("sti");
 
 #ifdef TEST_THREADS
 	spawn_thread(other_thread, NULL);
@@ -95,15 +94,18 @@
 		{
 			for (int func = 0; func < 8; func++)
 			{
-				struct pci_vendor *v = pci_check_vendor(bus, slot, func, NULL);
-				if (v)
+				uint vendor;
+
+				struct pci_vendor *v = pci_check_vendor(bus, slot, func, &vendor);
+
+				if (vendor != ~0)
 				{
-					kprintf("%s\n", v->name);
+					kprintf("%d %d %d %d\n", bus, slot, func, vendor);
 				}
 			}
 		}
 	}
-
+	
 	while (true)
 		asm volatile("hlt");
 
