Index: uspace/lib/usbdev/include/usb/dev/request.h
===================================================================
--- uspace/lib/usbdev/include/usb/dev/request.h	(revision 80136376d214f46fb63a3d7a552c74395a0128b1)
+++ uspace/lib/usbdev/include/usb/dev/request.h	(revision f1ac202947f4502d35b77afa64542cc9001286fc)
@@ -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 *,
