Fix PCI enumeration
diff --git a/src/kernel/dri/pci/pci.c b/src/kernel/dri/pci/pci.c
index 39622a5..67355a0 100644
--- a/src/kernel/dri/pci/pci.c
+++ b/src/kernel/dri/pci/pci.c
@@ -14,13 +14,13 @@
 
 struct pci_vendor *pci_check_vendor(uchar bus, uchar slot, uchar func, uint *v)
 {
-	uint vendor;
+	uint vendor = pci_config_readd(bus, slot, func, 0);
 
-	if ((vendor = pci_config_readd(bus, slot, func, 0) != ~0))
+	if (v)
+		*v = vendor;
+
+	if (vendor != ~0)
 	{
-		if (v)
-			*v = vendor;
-
 		return pci_vendor_by_id(vendor);
 	}
 	return NULL;