Index: uspace/drv/bus/usb/usbdiag/tests.c
===================================================================
--- uspace/drv/bus/usb/usbdiag/tests.c	(revision 3038d518c8964eb6ceeb13d82eafc07e08a0d630)
+++ uspace/drv/bus/usb/usbdiag/tests.c	(revision 290338bf7224f502808b23e82d98306208962b97)
@@ -60,4 +60,5 @@
 		return EINVAL;
 
+	size_t test_data_size = size / sizeof(test_data);
 	char *buffer = (char *) malloc(size);
 	if (!buffer)
@@ -104,11 +105,13 @@
 
 		if (validate) {
-			for (size_t i = 0; i < size; i += sizeof(test_data)) {
-				if (*(uint32_t *)(buffer + i) != test_data) {
+			uint32_t *beef_buffer = (uint32_t *) buffer;
+
+			/* Check if the beef is really dead. */
+			for (size_t i = 0; i < test_data_size; ++i) {
+				if (beef_buffer[i] != test_data) {
 					usb_log_error("Read of %s IN endpoint returned "
-						"invald data at address %zu.",
-						usb_str_transfer_type(pipe->desc.transfer_type), i);
+						"invalid data at address %zu. [ 0x%X != 0x%X ]",
+						usb_str_transfer_type(pipe->desc.transfer_type), i * sizeof(test_data), beef_buffer[i], test_data);
 					rc = EINVAL;
-					break;
 				}
 			}
