Index: uspace/drv/pciintel/pci.c
===================================================================
--- uspace/drv/pciintel/pci.c	(revision 99e6bfb24b4aa320547a5f09b12ebca066535ac4)
+++ uspace/drv/pciintel/pci.c	(revision bdc8ab120bb3fc10b404dab299f0a4f51ad6cf00)
@@ -94,4 +94,5 @@
   sysarg_t apic;
   sysarg_t i8259;
+
 	int irc_phone = -1;
 	int irc_service = 0;
@@ -103,10 +104,10 @@
 	}
 
-  if (irc_service) {
-    while (irc_phone < 0)
-      irc_phone = service_connect_blocking(irc_service, 0, 0);
-  } else {
+  if (irc_service == 0)
 		return false;
-	}
+
+	irc_phone = service_connect_blocking(irc_service, 0, 0);
+	if (irc_phone < 0)
+		return false;
 
 	size_t i;
@@ -114,5 +115,9 @@
 		if (dev_data->hw_resources.resources[i].type == INTERRUPT) {
 			int irq = dev_data->hw_resources.resources[i].res.interrupt.irq;
-			async_msg_1(irc_phone, IRC_ENABLE_INTERRUPT, irq);
+			int rc = async_req_1_0(irc_phone, IRC_ENABLE_INTERRUPT, irq);
+			if (rc != EOK) {
+				async_hangup(irc_phone);
+				return false;
+			}
 		}
 	}
