From 20a189286427132dec7bc3b79748fdccd1595e81 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 29 Apr 2011 03:17:57 +0000 Subject: [PATCH] [USBEHCI_NEW] - Fix SelectConfiguration / SelectInterface - By mjmartin svn path=/branches/usb-bringup/; revision=51490 --- drivers/usb/usbehci_new/usb_device.cpp | 6 +++--- drivers/usb/usbehci_new/usb_request.cpp | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/usb/usbehci_new/usb_device.cpp b/drivers/usb/usbehci_new/usb_device.cpp index 001ffeb6c68..a32fc3b717c 100644 --- a/drivers/usb/usbehci_new/usb_device.cpp +++ b/drivers/usb/usbehci_new/usb_device.cpp @@ -1129,7 +1129,7 @@ CUSBDevice::SelectConfiguration( // RtlZeroMemory(&CtrlSetup, sizeof(USB_DEFAULT_PIPE_SETUP_PACKET)); CtrlSetup.bRequest = USB_REQUEST_SET_CONFIGURATION; - CtrlSetup.wValue.W = ConfigurationDescriptor->iConfiguration; + CtrlSetup.wValue.W = ConfigurationDescriptor->bConfigurationValue; // // select configuration @@ -1214,8 +1214,8 @@ CUSBDevice::SelectInterface( // RtlZeroMemory(&CtrlSetup, sizeof(USB_DEFAULT_PIPE_SETUP_PACKET)); CtrlSetup.bRequest = USB_REQUEST_SET_INTERFACE; - CtrlSetup.wValue.W = InterfaceInfo->AlternateSetting; - CtrlSetup.wIndex.W = InterfaceInfo->InterfaceNumber; + CtrlSetup.wValue.W = Configuration->Interfaces[InterfaceInfo->InterfaceNumber].InterfaceDescriptor.bAlternateSetting; + CtrlSetup.wIndex.W = Configuration->Interfaces[InterfaceInfo->InterfaceNumber].InterfaceDescriptor.bInterfaceNumber; CtrlSetup.bmRequestType.B = 0x01; // diff --git a/drivers/usb/usbehci_new/usb_request.cpp b/drivers/usb/usbehci_new/usb_request.cpp index d002b9b41fa..49868a7c14a 100644 --- a/drivers/usb/usbehci_new/usb_request.cpp +++ b/drivers/usb/usbehci_new/usb_request.cpp @@ -1190,6 +1190,7 @@ CUSBRequest::FreeQueueHead( // release packet descriptor // m_DmaManager->Release(m_DescriptorPacket, sizeof(USB_DEFAULT_PIPE_SETUP_PACKET)); + m_DescriptorPacket = 0; } }