diff --git a/drivers/usb/usbohci/hub_controller.cpp b/drivers/usb/usbohci/hub_controller.cpp index 51d8b8c9124..add595eddd2 100644 --- a/drivers/usb/usbohci/hub_controller.cpp +++ b/drivers/usb/usbohci/hub_controller.cpp @@ -2282,7 +2282,7 @@ USBHI_CreateUsbDevice( CHubController * Controller; NTSTATUS Status; - DPRINT1("USBHI_CreateUsbDevice\n"); + DPRINT1("USBHI_CreateUsbDevice PortStatus %x\n", PortStatus); // // first get hub controller diff --git a/drivers/usb/usbohci/usb_device.cpp b/drivers/usb/usbohci/usb_device.cpp index d15ca32db7a..b28cfe93d2e 100644 --- a/drivers/usb/usbohci/usb_device.cpp +++ b/drivers/usb/usbohci/usb_device.cpp @@ -80,6 +80,8 @@ protected: PUSBQUEUE m_Queue; PDMAMEMORYMANAGER m_DmaManager; PUSB_CONFIGURATION_DESCRIPTOR *m_ConfigurationDescriptors; + LIST_ENTRY m_IrpListHead; + }; //---------------------------------------------------------------------------------------- @@ -117,6 +119,11 @@ CUSBDevice::Initialize( // KeInitializeSpinLock(&m_Lock); + // + // initialize irp list + // + InitializeListHead(&m_IrpListHead); + // // no device address has been set yet // @@ -268,7 +275,6 @@ CUSBDevice::GetType() DPRINT1("CUSBDevice::GetType Unknown bcdUSB Type %x\n", m_DeviceDescriptor.bcdUSB); PC_ASSERT(FALSE); - return Usb11Device; } @@ -462,7 +468,7 @@ CUSBDevice::CommitIrp( // // initialize request // - Status = Request->InitializeWithIrp(m_DmaManager, Irp); + Status = Request->InitializeWithIrp(m_DmaManager, Irp, GetSpeed()); // // mark irp as pending @@ -550,7 +556,7 @@ CUSBDevice::CommitSetupPacket( // // initialize request // - Status = Request->InitializeWithSetupPacket(m_DmaManager, Packet, m_DeviceAddress, EndpointDescriptor, BufferLength, Mdl); + Status = Request->InitializeWithSetupPacket(m_DmaManager, Packet, m_DeviceAddress, EndpointDescriptor, GetSpeed(), BufferLength, Mdl); if (!NT_SUCCESS(Status)) { //