mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 09:50:07 +00:00
[LIBUSB]
- Set USBD status when a device is successfully configured and transferred length for vendor class requests - Add error msg when copying of interface descriptor fails svn path=/trunk/; revision=57813
This commit is contained in:
parent
bbda91790a
commit
e5f8728f35
|
@ -1044,6 +1044,7 @@ CHubController::HandleSelectConfiguration(
|
|||
{
|
||||
PUSBDEVICE UsbDevice;
|
||||
PUSBD_INTERFACE_INFORMATION InterfaceInfo;
|
||||
NTSTATUS Status;
|
||||
|
||||
//
|
||||
// is the request for the Root Hub
|
||||
|
@ -1110,7 +1111,13 @@ CHubController::HandleSelectConfiguration(
|
|||
//
|
||||
// select configuration
|
||||
//
|
||||
return UsbDevice->SelectConfiguration(Urb->UrbSelectConfiguration.ConfigurationDescriptor, &Urb->UrbSelectConfiguration.Interface, &Urb->UrbSelectConfiguration.ConfigurationHandle);
|
||||
Status = UsbDevice->SelectConfiguration(Urb->UrbSelectConfiguration.ConfigurationDescriptor, &Urb->UrbSelectConfiguration.Interface, &Urb->UrbSelectConfiguration.ConfigurationHandle);
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
// successfully configured device
|
||||
Urb->UrbSelectConfiguration.Hdr.Status = USBD_STATUS_SUCCESS;
|
||||
}
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1843,7 +1850,7 @@ CHubController::HandleVendorDevice(
|
|||
PUSBDEVICE UsbDevice;
|
||||
USB_DEFAULT_PIPE_SETUP_PACKET CtrlSetup;
|
||||
|
||||
DPRINT("CHubController::HandleVendorDevice Request %x\n", Urb->UrbControlVendorClassRequest.Request);
|
||||
//DPRINT("CHubController::HandleVendorDevice Request %x\n", Urb->UrbControlVendorClassRequest.Request);
|
||||
|
||||
//
|
||||
// sanity check
|
||||
|
@ -1891,6 +1898,12 @@ CHubController::HandleVendorDevice(
|
|||
// issue request
|
||||
//
|
||||
Status = UsbDevice->SubmitSetupPacket(&CtrlSetup, Urb->UrbControlVendorClassRequest.TransferBufferLength, Urb->UrbControlVendorClassRequest.TransferBuffer);
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
// success
|
||||
Urb->UrbControlVendorClassRequest.Hdr.Status = USBD_STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = Urb->UrbControlVendorClassRequest.TransferBufferLength;
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
|
|
@ -1123,6 +1123,7 @@ CUSBDevice::SelectConfiguration(
|
|||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
// failed
|
||||
DPRINT1("[LIBUSB] Failed to copy interface descriptor Index %lu InterfaceDescriptor %p InterfaceInfo %p\n", ConfigurationIndex, InterfaceDescriptor, InterfaceInfo);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue