Index: uspace/drv/block/ahci/ahci.c
===================================================================
--- uspace/drv/block/ahci/ahci.c	(revision 4172db4a96dfc0e1f3850dc329bf5af934e31f20)
+++ uspace/drv/block/ahci/ahci.c	(revision 132ab5d1e75253f9bae910b2748a4c13efe7e71f)
@@ -890,10 +890,9 @@
 /** AHCI interrupt handler.
  *
- * @param iid   The IPC call id.
  * @param icall The IPC call structure.
  * @param dev   DDF device structure.
  *
  */
-static void ahci_interrupt(ipc_callid_t iid, ipc_call_t *icall, ddf_dev_t *dev)
+static void ahci_interrupt(ipc_call_t *icall, ddf_dev_t *dev)
 {
 	ahci_dev_t *ahci = dev_ahci_dev(dev);
@@ -1185,12 +1184,13 @@
 	ct.ranges = ahci_ranges;
 	
-	int irq_cap = register_interrupt_handler(dev,
-	    hw_res_parsed.irqs.irqs[0], ahci_interrupt, &ct);
-	if (irq_cap < 0) {
+	int irq_cap;
+	int rc = register_interrupt_handler(dev,
+	    hw_res_parsed.irqs.irqs[0], ahci_interrupt, &ct, &irq_cap);
+	if (rc != EOK) {
 		ddf_msg(LVL_ERROR, "Failed registering interrupt handler.");
 		goto error_register_interrupt_handler;
 	}
 	
-	int rc = hw_res_enable_interrupt(ahci->parent_sess,
+	rc = hw_res_enable_interrupt(ahci->parent_sess,
 	    hw_res_parsed.irqs.irqs[0]);
 	if (rc != EOK) {
Index: uspace/drv/block/ata_bd/ata_bd.c
===================================================================
--- uspace/drv/block/ata_bd/ata_bd.c	(revision 4172db4a96dfc0e1f3850dc329bf5af934e31f20)
+++ uspace/drv/block/ata_bd/ata_bd.c	(revision 132ab5d1e75253f9bae910b2748a4c13efe7e71f)
@@ -62,9 +62,7 @@
 #include <stddef.h>
 #include <str.h>
-#include <loc.h>
 #include <inttypes.h>
 #include <errno.h>
 #include <byteorder.h>
-#include <task.h>
 #include <macros.h>
 
@@ -147,5 +145,6 @@
 int ata_ctrl_init(ata_ctrl_t *ctrl, ata_base_t *res)
 {
-	int i, rc;
+	int i;
+	int rc;
 	int n_disks;
 
@@ -212,5 +211,6 @@
 int ata_ctrl_remove(ata_ctrl_t *ctrl)
 {
-	int i, rc;
+	int i;
+	int rc;
 
 	ddf_msg(LVL_DEBUG, ": ata_ctrl_remove()");
@@ -236,5 +236,6 @@
 int ata_ctrl_gone(ata_ctrl_t *ctrl)
 {
-	int i, rc;
+	int i;
+	int rc;
 
 	ddf_msg(LVL_DEBUG, "ata_ctrl_gone()");
Index: uspace/drv/block/ata_bd/main.c
===================================================================
--- uspace/drv/block/ata_bd/main.c	(revision 4172db4a96dfc0e1f3850dc329bf5af934e31f20)
+++ uspace/drv/block/ata_bd/main.c	(revision 132ab5d1e75253f9bae910b2748a4c13efe7e71f)
@@ -106,5 +106,5 @@
  *
  * @param  dev New device
- * @return     EOK on success or negative error code.
+ * @return     EOK on success or an error code.
  */
 static int ata_dev_add(ddf_dev_t *dev)
Index: uspace/drv/block/ddisk/ddisk.c
===================================================================
--- uspace/drv/block/ddisk/ddisk.c	(revision 4172db4a96dfc0e1f3850dc329bf5af934e31f20)
+++ uspace/drv/block/ddisk/ddisk.c	(revision 132ab5d1e75253f9bae910b2748a4c13efe7e71f)
@@ -64,5 +64,5 @@
 static void ddisk_bd_connection(ipc_callid_t, ipc_call_t *, void *);
 
-static void ddisk_irq_handler(ipc_callid_t, ipc_call_t *, ddf_dev_t *);
+static void ddisk_irq_handler(ipc_call_t *, ddf_dev_t *);
 
 static driver_ops_t driver_ops = {
@@ -176,5 +176,5 @@
 };
 
-void ddisk_irq_handler(ipc_callid_t iid, ipc_call_t *icall, ddf_dev_t *dev)
+void ddisk_irq_handler(ipc_call_t *icall, ddf_dev_t *dev)
 {
 	ddf_msg(LVL_DEBUG, "ddisk_irq_handler(), status=%" PRIx32,
@@ -408,5 +408,5 @@
  *
  * @param  dev New device
- * @return     EOK on success or negative error code.
+ * @return     EOK on success or an error code.
  */
 static int ddisk_dev_add(ddf_dev_t *dev)
@@ -503,8 +503,7 @@
 	ddisk_irq_commands[0].addr = (void *) &res_phys->status;
 	ddisk_irq_commands[3].addr = (void *) &res_phys->command;
-	ddisk->irq_cap = register_interrupt_handler(dev, ddisk->ddisk_res.irq,
-	    ddisk_irq_handler, &ddisk_irq_code);
-	if (ddisk->irq_cap < 0) {
-		rc = ddisk->irq_cap;
+	rc = register_interrupt_handler(dev, ddisk->ddisk_res.irq,
+	    ddisk_irq_handler, &ddisk_irq_code, &ddisk->irq_cap);
+	if (rc != EOK) {
 		ddf_msg(LVL_ERROR, "Failed to register interrupt handler.");
 		goto error;
Index: uspace/drv/block/usbmast/bo_trans.c
===================================================================
--- uspace/drv/block/usbmast/bo_trans.c	(revision 4172db4a96dfc0e1f3850dc329bf5af934e31f20)
+++ uspace/drv/block/usbmast/bo_trans.c	(revision 132ab5d1e75253f9bae910b2748a4c13efe7e71f)
@@ -228,5 +228,5 @@
  *
  * @param mfun		Mass storage function
- * @return		Error code of maximum LUN (index, not count)
+ * @return		Maximum LUN (index, not count), or -1
  */
 int usb_massstor_get_max_lun(usbmast_dev_t *mdev)
@@ -240,10 +240,10 @@
 	    &data_recv_len);
 	if (rc != EOK) {
-		return rc;
+		return -1;
 	}
 	if (data_recv_len != 1) {
-		return EEMPTY;
-	}
-	return (int) max_lun;
+		return -1;
+	}
+	return max_lun;
 }
 
Index: uspace/drv/block/usbmast/main.c
===================================================================
--- uspace/drv/block/usbmast/main.c	(revision 4172db4a96dfc0e1f3850dc329bf5af934e31f20)
+++ uspace/drv/block/usbmast/main.c	(revision 132ab5d1e75253f9bae910b2748a4c13efe7e71f)
@@ -215,5 +215,5 @@
  * @param mdev		Mass storage device
  * @param lun		LUN
- * @return		EOK on success or negative error code.
+ * @return		EOK on success or an error code.
  */
 static int usbmast_fun_create(usbmast_dev_t *mdev, unsigned lun)
