Author: janderwald Date: Thu Dec 29 10:13:36 2011 New Revision: 54777
URL: http://svn.reactos.org/svn/reactos?rev=54777&view=rev Log: [USBOHCI] - Silence a few traces - Add a hack for handling URB_FUNCTION_CLASS_INTERFACE. The hid bus driver performs this request with zero buffer length, which is not valid. Needs more investigation
Modified: branches/usb-bringup/drivers/usb/usbohci/hardware.cpp branches/usb-bringup/drivers/usb/usbohci/hub_controller.cpp branches/usb-bringup/drivers/usb/usbohci/usb_queue.cpp branches/usb-bringup/drivers/usb/usbohci/usb_request.cpp
Modified: branches/usb-bringup/drivers/usb/usbohci/hardware.cpp URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbohci/... ============================================================================== --- branches/usb-bringup/drivers/usb/usbohci/hardware.cpp [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbohci/hardware.cpp [iso-8859-1] Thu Dec 29 10:13:36 2011 @@ -1364,7 +1364,7 @@ // // defer processing // - DPRINT1("Status %x Acknowledge %x FrameNumber %x\n", Status, Acknowledge, This->m_HCCA->CurrentFrameNumber); + DPRINT("Status %x Acknowledge %x FrameNumber %x\n", Status, Acknowledge, This->m_HCCA->CurrentFrameNumber); KeInsertQueueDpc(&This->m_IntDpcObject, (PVOID)Status, (PVOID)(DoneHead & ~1));
//
Modified: branches/usb-bringup/drivers/usb/usbohci/hub_controller.cpp URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbohci/... ============================================================================== --- branches/usb-bringup/drivers/usb/usbohci/hub_controller.cpp [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbohci/hub_controller.cpp [iso-8859-1] Thu Dec 29 10:13:36 2011 @@ -1633,6 +1633,12 @@ DPRINT1("Request %x\n", Urb->UrbControlVendorClassRequest.Request); DPRINT1("Value %x\n", Urb->UrbControlVendorClassRequest.Value); DPRINT1("Index %x\n", Urb->UrbControlVendorClassRequest.Index); + + if (Urb->UrbControlVendorClassRequest.TransferBufferLength == 0) + { + DPRINT1("Invalid request length\n"); + return STATUS_SUCCESS; + }
// // initialize setup packet
Modified: branches/usb-bringup/drivers/usb/usbohci/usb_queue.cpp URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbohci/... ============================================================================== --- branches/usb-bringup/drivers/usb/usbohci/usb_queue.cpp [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbohci/usb_queue.cpp [iso-8859-1] Thu Dec 29 10:13:36 2011 @@ -620,7 +620,7 @@ POHCI_ENDPOINT_DESCRIPTOR EndpointDescriptor, PreviousEndpointDescriptor; NTSTATUS Status;
- DPRINT1("CUSBQueue::TransferDescriptorCompletionCallback transfer descriptor %x\n", TransferDescriptorLogicalAddress); + DPRINT("CUSBQueue::TransferDescriptorCompletionCallback transfer descriptor %x\n", TransferDescriptorLogicalAddress);
// // find transfer descriptor in control list
Modified: branches/usb-bringup/drivers/usb/usbohci/usb_request.cpp URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbohci/... ============================================================================== --- branches/usb-bringup/drivers/usb/usbohci/usb_request.cpp [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbohci/usb_request.cpp [iso-8859-1] Thu Dec 29 10:13:36 2011 @@ -941,7 +941,7 @@ Descriptor->Flags |= OHCI_ENDPOINT_SET_ENDPOINT_NUMBER(GetEndpointAddress()); Descriptor->Flags |= OHCI_ENDPOINT_SET_MAX_PACKET_SIZE(GetMaxPacketSize());
- DPRINT1("Flags %x DeviceAddress %x EndpointAddress %x PacketSize %x\n", Descriptor->Flags, GetDeviceAddress(), GetEndpointAddress(), GetMaxPacketSize()); + DPRINT("Flags %x DeviceAddress %x EndpointAddress %x PacketSize %x\n", Descriptor->Flags, GetDeviceAddress(), GetEndpointAddress(), GetMaxPacketSize());
// // is there an endpoint descriptor