Index: uspace/drv/bus/usb/uhci/transfer_list.c
===================================================================
--- uspace/drv/bus/usb/uhci/transfer_list.c	(revision 09c954ba81b1fc857478c0408ed2e59077744202)
+++ uspace/drv/bus/usb/uhci/transfer_list.c	(revision 3df290792b980ae2873195fbf00acafa0d94b3dc)
@@ -110,6 +110,6 @@
 	assert(instance);
 	assert(uhci_batch);
-	usb_log_debug2("Queue %s: Adding batch(%p).\n", instance->name,
-	    uhci_batch->usb_batch);
+	usb_log_debug2("Batch %p adding to queue %s.\n",
+	    uhci_batch->usb_batch, instance->name);
 
 	fibril_mutex_lock(&instance->guard);
@@ -139,7 +139,7 @@
 	list_append(&uhci_batch->link, &instance->batch_list);
 
-	usb_log_debug2("Batch %p " USB_TRANSFER_BATCH_FMT " scheduled in queue %s.\n",
-	    uhci_batch, USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch),
-	    instance->name);
+	usb_log_debug2("Batch %p " USB_TRANSFER_BATCH_FMT
+	    " scheduled in queue %s.\n", uhci_batch->usb_batch,
+	    USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch), instance->name);
 	fibril_mutex_unlock(&instance->guard);
 }
@@ -205,6 +205,6 @@
 	assert(fibril_mutex_is_locked(&instance->guard));
 
-	usb_log_debug2("Queue %s: removing batch(%p).\n",
-	    instance->name, uhci_batch->usb_batch);
+	usb_log_debug2("Batch %p removing from queue %s.\n",
+	    uhci_batch->usb_batch, instance->name);
 
 	/* Assume I'm the first */
@@ -228,6 +228,6 @@
 	list_remove(&uhci_batch->link);
 	usb_log_debug2("Batch %p " USB_TRANSFER_BATCH_FMT " removed (%s) "
-	    "from %s, next: %x.\n",
-	    uhci_batch, USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch),
+	    "from %s, next: %x.\n", uhci_batch->usb_batch,
+	    USB_TRANSFER_BATCH_ARGS(*uhci_batch->usb_batch),
 	    qpos, instance->name, uhci_batch->qh->next);
 }
Index: uspace/drv/bus/usb/uhci/uhci_batch.c
===================================================================
--- uspace/drv/bus/usb/uhci/uhci_batch.c	(revision 09c954ba81b1fc857478c0408ed2e59077744202)
+++ uspace/drv/bus/usb/uhci/uhci_batch.c	(revision 3df290792b980ae2873195fbf00acafa0d94b3dc)
@@ -174,7 +174,7 @@
 			assert(uhci_batch->usb_batch->ep != NULL);
 
-			usb_log_debug("Batch(%p) found error TD(%zu):%"
+			usb_log_debug("Batch %p found error TD(%zu->%p):%"
 			    PRIx32 ".\n", uhci_batch->usb_batch, i,
-			    uhci_batch->tds[i].status);
+			    &uhci_batch->tds[i], uhci_batch->tds[i].status);
 			td_print_status(&uhci_batch->tds[i]);
 
Index: uspace/drv/infrastructure/root/root.c
===================================================================
--- uspace/drv/infrastructure/root/root.c	(revision 09c954ba81b1fc857478c0408ed2e59077744202)
+++ uspace/drv/infrastructure/root/root.c	(revision 3df290792b980ae2873195fbf00acafa0d94b3dc)
@@ -158,6 +158,9 @@
 	if (asprintf(&match_id, PLATFORM_FUN_MATCH_ID_FMT, platform) == -1) {
 		ddf_msg(LVL_ERROR, "Memory allocation failed.");
-		return ENOMEM;
-	}
+		free(platform);
+		return ENOMEM;
+	}
+
+	free(platform);
 
 	/* Add function. */
@@ -169,4 +172,5 @@
 	if (fun == NULL) {
 		ddf_msg(LVL_ERROR, "Error creating function %s", name);
+		free(match_id);
 		return ENOMEM;
 	}
@@ -176,4 +180,5 @@
 		ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s",
 		    name);
+		free(match_id);
 		ddf_fun_destroy(fun);
 		return rc;
@@ -208,5 +213,5 @@
 	 * vital for the system.
 	 */
-	add_virtual_root_fun(dev);
+	(void) add_virtual_root_fun(dev);
 
 	/* Register root device's children. */
Index: uspace/lib/c/arch/ia64/include/ddi.h
===================================================================
--- uspace/lib/c/arch/ia64/include/ddi.h	(revision 09c954ba81b1fc857478c0408ed2e59077744202)
+++ uspace/lib/c/arch/ia64/include/ddi.h	(revision 3df290792b980ae2873195fbf00acafa0d94b3dc)
@@ -62,4 +62,5 @@
 
 	asm volatile ("mf\n" ::: "memory");
+	asm volatile ("mf.a\n" ::: "memory");
 }
 
@@ -76,4 +77,5 @@
 
 	asm volatile ("mf\n" ::: "memory");
+	asm volatile ("mf.a\n" ::: "memory");
 }
 
@@ -90,4 +92,5 @@
 
 	asm volatile ("mf\n" ::: "memory");
+	asm volatile ("mf.a\n" ::: "memory");
 }
 
@@ -106,4 +109,6 @@
 		v = *port;
 	}
+
+	asm volatile ("mf.a\n" ::: "memory");
 
 	return v;
@@ -125,4 +130,6 @@
 	}
 
+	asm volatile ("mf.a\n" ::: "memory");
+
 	return v;
 }
@@ -134,5 +141,5 @@
 	asm volatile ("mf\n" ::: "memory");
 
-	if (port < (ioport32_t *) port) {
+	if (port < (ioport32_t *) IO_SPACE_BOUNDARY) {
 		uintptr_t prt = (uintptr_t) port;
 
@@ -143,4 +150,6 @@
 	}
 
+	asm volatile ("mf.a\n" ::: "memory");
+
 	return v;
 }
