Index: uspace/lib/usb/src/debug.c
===================================================================
--- uspace/lib/usb/src/debug.c	(revision 9f7276d086028d3d36b9d3638e5d4759150cd6c9)
+++ uspace/lib/usb/src/debug.c	(revision ae5f77d51831d7e330b7380915c455f4e135bf7e)
@@ -38,4 +38,5 @@
 #include <stdlib.h>
 #include <stdio.h>
+#include <ddf/log.h>
 #include <usb/debug.h>
 
@@ -193,66 +194,7 @@
 	bzero(buffer_dump[buffer_dump_index], BUFFER_DUMP_LEN);
 
-	if (buffer == NULL) {
-		return "(null)";
-	}
-	if (size == 0) {
-		return "(empty)";
-	}
-	if ((dumped_size == 0) || (dumped_size > size)) {
-		dumped_size = size;
-	}
-
-	/* How many bytes are available in the output buffer. */
-	size_t buffer_remaining_size = BUFFER_DUMP_LEN - 1 - REMAINDER_STR_LEN;
-	char *it = buffer_dump[buffer_dump_index];
-
-	size_t index = 0;
-
-	while (index < size) {
-		/* Determine space before the number. */
-		const char *space_before;
-		if (index == 0) {
-			space_before = "";
-		} else if ((index % BUFFER_DUMP_GROUP_SIZE) == 0) {
-			space_before = "  ";
-		} else {
-			space_before = " ";
-		}
-
-		/*
-		 * Add the byte as a hexadecimal number plus the space.
-		 * We do it into temporary buffer to ensure that always
-		 * the whole byte is printed.
-		 */
-		int val = buffer[index];
-		char current_byte[16];
-		int printed = snprintf(current_byte, 16,
-		    "%s%02x", space_before, val);
-		if (printed < 0) {
-			break;
-		}
-
-		if ((size_t) printed > buffer_remaining_size) {
-			break;
-		}
-
-		/* We can safely add 1, because space for end 0 is reserved. */
-		str_append(it, buffer_remaining_size + 1, current_byte);
-
-		buffer_remaining_size -= printed;
-		/* Point at the terminator 0. */
-		it += printed;
-		index++;
-
-		if (index >= dumped_size) {
-			break;
-		}
-	}
-
-	/* Add how many bytes were not printed. */
-	if (index < size) {
-		snprintf(it, REMAINDER_STR_LEN,
-		    REMAINDER_STR_FMT, size - index);
-	}
+	/* Do the actual dump. */
+	ddf_dump_buffer(buffer_dump[buffer_dump_index], BUFFER_DUMP_LEN,
+	    buffer, 1, size, dumped_size);
 
 	/* Next time, use the other buffer. */
