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)
{
int ret = 0;
- if (ps->dev->state != USB_STATE_CONFIGURED)
+ if (ps->dev->state != USB_STATE_ADDRESS
+ && ps->dev->state != USB_STATE_CONFIGURED)
return -EHOSTUNREACH;
if (USB_TYPE_VENDOR == (USB_TYPE_MASK & requesttype))
return 0;