Index: uspace/lib/usbdev/include/usb/dev/request.h
===================================================================
--- uspace/lib/usbdev/include/usb/dev/request.h	(revision 6883abfa0e2bb564d2da375c57df0a6dab5b9297)
+++ uspace/lib/usbdev/include/usb/dev/request.h	(revision d01b9a1a66de192849389ec50bf7aca6f25327c0)
@@ -93,8 +93,8 @@
 	uint8_t request;
 	/** Main parameter to the request. */
-	union {
+	union __attribute__ ((packed)) {
 		uint16_t value;
 		/* FIXME: add #ifdefs according to host endianness */
-		struct {
+		struct __attribute__ ((packed)) {
 			uint8_t value_low;
 			uint8_t value_high;
@@ -108,4 +108,6 @@
 	uint16_t length;
 } __attribute__ ((packed)) usb_device_request_setup_packet_t;
+
+int assert[(sizeof(usb_device_request_setup_packet_t) == 8) ? 1: -1];
 
 int usb_control_request_set(usb_pipe_t *,
