mirror of
https://github.com/reactos/reactos.git
synced 2024-07-14 00:25:05 +00:00
[LIBUSB]
- Set status and transferred byte length - Display error msg when request fails - Remove asserts - CORE-6574 CORE-6676 svn path=/trunk/; revision=57811
This commit is contained in:
parent
704fb912be
commit
075d464e9d
|
@ -740,6 +740,12 @@ CHubController::HandlePnp(
|
||||||
Status = STATUS_SUCCESS;
|
Status = STATUS_SUCCESS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case IRP_MN_SURPRISE_REMOVAL:
|
||||||
|
{
|
||||||
|
DPRINT("[USBLIB] HandlePnp IRP_MN_SURPRISE_REMOVAL\n");
|
||||||
|
Status = STATUS_SUCCESS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
@ -1479,7 +1485,10 @@ CHubController::HandleGetDescriptorFromInterface(
|
||||||
// submit setup packet
|
// submit setup packet
|
||||||
//
|
//
|
||||||
Status = UsbDevice->SubmitSetupPacket(&CtrlSetup, Urb->UrbControlDescriptorRequest.TransferBufferLength, Urb->UrbControlDescriptorRequest.TransferBuffer);
|
Status = UsbDevice->SubmitSetupPacket(&CtrlSetup, Urb->UrbControlDescriptorRequest.TransferBufferLength, Urb->UrbControlDescriptorRequest.TransferBuffer);
|
||||||
ASSERT(Status == STATUS_SUCCESS);
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
DPRINT1("[USBLIB] HandleGetDescriptorFromInterface failed with %x\n", Status);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// done
|
// done
|
||||||
|
@ -1499,7 +1508,7 @@ CHubController::HandleGetDescriptor(
|
||||||
PUSBDEVICE UsbDevice;
|
PUSBDEVICE UsbDevice;
|
||||||
ULONG Length, BufferLength;
|
ULONG Length, BufferLength;
|
||||||
|
|
||||||
DPRINT("[USBLIB] HandleGetDescriptor\n");
|
DPRINT("[USBLIB] HandleGetDescriptor Type %x\n", Urb->UrbControlDescriptorRequest.DescriptorType);
|
||||||
|
|
||||||
//
|
//
|
||||||
// check descriptor type
|
// check descriptor type
|
||||||
|
@ -1520,6 +1529,8 @@ CHubController::HandleGetDescriptor(
|
||||||
// copy root hub device descriptor
|
// copy root hub device descriptor
|
||||||
//
|
//
|
||||||
RtlCopyMemory((PUCHAR)Urb->UrbControlDescriptorRequest.TransferBuffer, &m_DeviceDescriptor, sizeof(USB_DEVICE_DESCRIPTOR));
|
RtlCopyMemory((PUCHAR)Urb->UrbControlDescriptorRequest.TransferBuffer, &m_DeviceDescriptor, sizeof(USB_DEVICE_DESCRIPTOR));
|
||||||
|
Irp->IoStatus.Information = sizeof(USB_DEVICE_DESCRIPTOR);
|
||||||
|
Urb->UrbControlDescriptorRequest.Hdr.Status = USBD_STATUS_SUCCESS;
|
||||||
Status = STATUS_SUCCESS;
|
Status = STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1546,6 +1557,8 @@ CHubController::HandleGetDescriptor(
|
||||||
// retrieve device descriptor from device
|
// retrieve device descriptor from device
|
||||||
//
|
//
|
||||||
UsbDevice->GetDeviceDescriptor((PUSB_DEVICE_DESCRIPTOR)Urb->UrbControlDescriptorRequest.TransferBuffer);
|
UsbDevice->GetDeviceDescriptor((PUSB_DEVICE_DESCRIPTOR)Urb->UrbControlDescriptorRequest.TransferBuffer);
|
||||||
|
Irp->IoStatus.Information = sizeof(USB_DEVICE_DESCRIPTOR);
|
||||||
|
Urb->UrbControlDescriptorRequest.Hdr.Status = USBD_STATUS_SUCCESS;
|
||||||
Status = STATUS_SUCCESS;
|
Status = STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1678,7 +1691,9 @@ CHubController::HandleGetDescriptor(
|
||||||
//
|
//
|
||||||
// store result size
|
// store result size
|
||||||
//
|
//
|
||||||
|
Irp->IoStatus.Information = Length;
|
||||||
Urb->UrbControlDescriptorRequest.TransferBufferLength = Length;
|
Urb->UrbControlDescriptorRequest.TransferBufferLength = Length;
|
||||||
|
Urb->UrbControlDescriptorRequest.Hdr.Status = USBD_STATUS_SUCCESS;
|
||||||
Status = STATUS_SUCCESS;
|
Status = STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1827,6 +1842,7 @@ CHubController::HandleVendorDevice(
|
||||||
NTSTATUS Status = STATUS_NOT_IMPLEMENTED;
|
NTSTATUS Status = STATUS_NOT_IMPLEMENTED;
|
||||||
PUSBDEVICE UsbDevice;
|
PUSBDEVICE UsbDevice;
|
||||||
USB_DEFAULT_PIPE_SETUP_PACKET CtrlSetup;
|
USB_DEFAULT_PIPE_SETUP_PACKET CtrlSetup;
|
||||||
|
PVOID TransferBuffer = NULL;
|
||||||
|
|
||||||
DPRINT("CHubController::HandleVendorDevice Request %x\n", Urb->UrbControlVendorClassRequest.Request);
|
DPRINT("CHubController::HandleVendorDevice Request %x\n", Urb->UrbControlVendorClassRequest.Request);
|
||||||
|
|
||||||
|
@ -1876,7 +1892,6 @@ CHubController::HandleVendorDevice(
|
||||||
// issue request
|
// issue request
|
||||||
//
|
//
|
||||||
Status = UsbDevice->SubmitSetupPacket(&CtrlSetup, Urb->UrbControlVendorClassRequest.TransferBufferLength, Urb->UrbControlVendorClassRequest.TransferBuffer);
|
Status = UsbDevice->SubmitSetupPacket(&CtrlSetup, Urb->UrbControlVendorClassRequest.TransferBufferLength, Urb->UrbControlVendorClassRequest.TransferBuffer);
|
||||||
PC_ASSERT(NT_SUCCESS(Status));
|
|
||||||
|
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue