Francois Gouget : usbd.sys: Fix the test for type control endpoints.
Alexandre Julliard
julliard at winehq.org
Thu Jun 24 11:15:22 CDT 2010
Module: wine
Branch: master
Commit: 3c58b1a6f699f308780900223a841df84da5dcad
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3c58b1a6f699f308780900223a841df84da5dcad
Author: Francois Gouget <fgouget at free.fr>
Date: Thu Jun 24 10:17:22 2010 +0200
usbd.sys: Fix the test for type control endpoints.
The value of USB_ENDPOINT_TYPE_CONTROL is 0 so and-ing with it makes no sense.
---
dlls/usbd.sys/usbd.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/dlls/usbd.sys/usbd.c b/dlls/usbd.sys/usbd.c
index 4727512..80fd02e 100644
--- a/dlls/usbd.sys/usbd.c
+++ b/dlls/usbd.sys/usbd.c
@@ -125,14 +125,21 @@ PURB WINAPI USBD_CreateConfigurationRequestEx(
interfaceInfo->Pipes[i].MaximumPacketSize = endpointDescriptor->wMaxPacketSize;
interfaceInfo->Pipes[i].EndpointAddress = endpointDescriptor->bEndpointAddress;
interfaceInfo->Pipes[i].Interval = endpointDescriptor->bInterval;
- if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_CONTROL)
+ switch (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_MASK)
+ {
+ case USB_ENDPOINT_TYPE_CONTROL:
interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeControl;
- else if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_BULK)
+ break;
+ case USB_ENDPOINT_TYPE_BULK:
interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeBulk;
- else if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_INTERRUPT)
+ break;
+ case USB_ENDPOINT_TYPE_INTERRUPT:
interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeInterrupt;
- else if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_ISOCHRONOUS)
+ break;
+ case USB_ENDPOINT_TYPE_ISOCHRONOUS:
interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeIsochronous;
+ break;
+ }
endpointDescriptor = (PUSB_ENDPOINT_DESCRIPTOR) USBD_ParseDescriptors(
ConfigurationDescriptor, ConfigurationDescriptor->wTotalLength,
endpointDescriptor + 1, USB_ENDPOINT_DESCRIPTOR_TYPE );
More information about the wine-cvs
mailing list