for (dev = bus->devices; dev; dev = dev->next)
{
if (dev->devnum > 1) continue;
- desc = &bus->devices->descriptor;
- create_root_hub_device( desc->idVendor, desc->idProduct,
- bus->devices, usbhubdrv );
+ desc = &dev->descriptor;
+ create_root_hub_device( desc->idVendor, desc->idProduct, dev,
+ usbhubdrv );
}
for (bus = usb_busses; bus; bus = bus->next)
for (dev = bus->devices; dev; dev = dev->next)
{
if (dev->devnum <= 1) continue;
+ desc = &dev->descriptor;
new_device = TRUE;
LIST_FOR_EACH_ENTRY( instance, &Devices, struct DeviceInstance, entry )
{
- if (instance->dev == NULL &&
- dev->descriptor.idVendor == instance->vid &&
- dev->descriptor.idProduct == instance->pid)
+ if (instance->dev == NULL && desc->idVendor == instance->vid &&
+ desc->idProduct == instance->pid)
{
instance->dev = dev;
new_device = FALSE;
}
}
if (new_device)
- register_usb_device( dev->descriptor.idVendor,
- dev->descriptor.idProduct, dev );
+ register_usb_device( desc->idVendor, desc->idProduct, dev );
}
#endif
start_root_devices( usbhubdrv );