diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
index d01bd77e7b1479028086a98a09997378840366ee..de6a7c07cf970364aea88ad1417031c30d861ba6 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -137,10 +137,10 @@ static ssize_t usbdev_read(struct file *file, char __user *buf, size_t nbytes, l
 		struct usb_device_descriptor temp_desc ; /* 18 bytes - fits on the stack */
 
 		memcpy(&temp_desc, &dev->descriptor, sizeof(dev->descriptor));
-		le16_to_cpus(&temp_desc->bcdUSB);
-		le16_to_cpus(&temp_desc->idVendor);
-		le16_to_cpus(&temp_desc->idProduct);
-		le16_to_cpus(&temp_desc->bcdDevice);
+		le16_to_cpus(&temp_desc.bcdUSB);
+		le16_to_cpus(&temp_desc.idVendor);
+		le16_to_cpus(&temp_desc.idProduct);
+		le16_to_cpus(&temp_desc.bcdDevice);
 
 		len = sizeof(struct usb_device_descriptor) - pos;
 		if (len > nbytes)