Index: uspace/app/vuhid/device.c
===================================================================
--- uspace/app/vuhid/device.c	(revision f7041947d439de842a3b6c8a20320711d484ae6b)
+++ uspace/app/vuhid/device.c	(revision 97663ee3dcc54972dc8cf54f071e1f100adf3400)
@@ -254,7 +254,6 @@
 
 	/* Extend existing extra descriptors with these ones. */
-	usbvirt_device_configuration_extras_t *extra_descriptors
-	    = dev->descriptors->configuration->extra;
-	extra_descriptors = realloc(extra_descriptors,
+	usbvirt_device_configuration_extras_t *extra_descriptors;
+	extra_descriptors = realloc(dev->descriptors->configuration->extra,
 	    sizeof(usbvirt_device_configuration_extras_t)
 	    * (dev->descriptors->configuration->extra_count + descr_count));
Index: uspace/lib/usbvirt/include/usbvirt/device.h
===================================================================
--- uspace/lib/usbvirt/include/usbvirt/device.h	(revision f7041947d439de842a3b6c8a20320711d484ae6b)
+++ uspace/lib/usbvirt/include/usbvirt/device.h	(revision 97663ee3dcc54972dc8cf54f071e1f100adf3400)
@@ -111,5 +111,5 @@
 typedef struct {
 	/** Actual data. */
-	uint8_t *data;
+	const uint8_t *data;
 	/** Data length. */
 	size_t length;
@@ -121,5 +121,5 @@
 	usb_standard_configuration_descriptor_t *descriptor;
 	/** Array of extra data. */
-	usbvirt_device_configuration_extras_t *extra;
+	const usbvirt_device_configuration_extras_t *extra;
 	/** Length of @c extra array. */
 	size_t extra_count;
@@ -131,5 +131,5 @@
 	 * There is always only one such descriptor for the device.
 	 */
-	usb_standard_device_descriptor_t *device;
+	const usb_standard_device_descriptor_t *device;
 
 	/** Configurations. */
@@ -206,5 +206,5 @@
 
 void usbvirt_control_reply_helper(const usb_device_request_setup_packet_t *,
-    uint8_t *, size_t *, void *, size_t);
+    uint8_t *, size_t *, const void *, size_t);
 
 int usbvirt_control_write(usbvirt_device_t *, void *, size_t, void *, size_t);
Index: uspace/lib/usbvirt/src/stdreq.c
===================================================================
--- uspace/lib/usbvirt/src/stdreq.c	(revision f7041947d439de842a3b6c8a20320711d484ae6b)
+++ uspace/lib/usbvirt/src/stdreq.c	(revision 97663ee3dcc54972dc8cf54f071e1f100adf3400)
@@ -51,5 +51,5 @@
 void usbvirt_control_reply_helper(const usb_device_request_setup_packet_t *setup_packet,
     uint8_t *data, size_t *act_size,
-    void *actual_data, size_t actual_data_size)
+    const void *actual_data, size_t actual_data_size)
 {
 	size_t expected_size = setup_packet->length;
@@ -98,6 +98,6 @@
 		}
 		/* Copy the data. */
-		usbvirt_device_configuration_t *config = &device->descriptors
-		    ->configuration[index];
+		const usbvirt_device_configuration_t *config =
+		    &device->descriptors->configuration[index];
 		uint8_t *all_data = malloc(config->descriptor->total_length);
 		if (all_data == NULL) {
@@ -110,5 +110,5 @@
 		size_t i;
 		for (i = 0; i < config->extra_count; i++) {
-			usbvirt_device_configuration_extras_t *extra
+			const usbvirt_device_configuration_extras_t *extra
 			    = &config->extra[i];
 			memcpy(ptr, extra->data, extra->length);
