Index: uspace/drv/pciintel/pci.c
===================================================================
--- uspace/drv/pciintel/pci.c	(revision 97a62fec5ae8981a95bc5036a2fda4084d6bea01)
+++ uspace/drv/pciintel/pci.c	(revision cd0684db79e00ab134a988e66f3c68b8b17e2ffd)
@@ -45,4 +45,5 @@
 #include <ctype.h>
 #include <macros.h>
+#include <str_error.h>
 
 #include <driver.h>
@@ -217,14 +218,19 @@
 void pci_fun_create_match_ids(pci_fun_t *fun)
 {
-	match_id_t *match_id = NULL;
 	char *match_id_str;
-	
-	match_id = create_match_id();
-	if (match_id != NULL) {
-		asprintf(&match_id_str, "pci/ven=%04x&dev=%04x",
-		    fun->vendor_id, fun->device_id);
-		match_id->id = match_id_str;
-		match_id->score = 90;
-		add_match_id(&fun->fnode->match_ids, match_id);
+	int rc;
+	
+	asprintf(&match_id_str, "pci/ven=%04x&dev=%04x",
+	    fun->vendor_id, fun->device_id);
+
+	if (match_id_str == NULL) {
+		printf(NAME ": out of memory creating match ID.\n");
+		return;
+	}
+
+	rc = ddf_fun_add_match_id(fun->fnode, match_id_str, 90);
+	if (rc != EOK) {
+		printf(NAME ": error adding match ID: %s\n",
+		    str_error(rc));
 	}
 	
