From e12241f5a192651ec564e62b1e163039b546b87e Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sat, 15 Jul 2017 09:24:30 +0000 Subject: [PATCH] [USBPORT] Fix incorrect transfer direction for URBs. Patch by Vadim Galyant. CORE-13546 svn path=/trunk/; revision=75351 --- reactos/drivers/usb/usbport/urb.c | 6 +++--- reactos/sdk/include/reactos/drivers/usbport/usbmport.h | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/reactos/drivers/usb/usbport/urb.c b/reactos/drivers/usb/usbport/urb.c index 5067f96b6c6..d5181801ef2 100644 --- a/reactos/drivers/usb/usbport/urb.c +++ b/reactos/drivers/usb/usbport/urb.c @@ -385,13 +385,13 @@ USBPORT_HandleDataTransfers(IN PURB Urb) if (Endpoint->EndpointProperties.TransferType != USBPORT_TRANSFER_TYPE_CONTROL) { - if (Endpoint->EndpointProperties.Direction) + if (Endpoint->EndpointProperties.Direction == USBPORT_TRANSFER_DIRECTION_OUT) { - Urb->UrbBulkOrInterruptTransfer.TransferFlags |= USBD_TRANSFER_DIRECTION_IN; + Urb->UrbBulkOrInterruptTransfer.TransferFlags &= ~USBD_TRANSFER_DIRECTION_IN; } else { - Urb->UrbBulkOrInterruptTransfer.TransferFlags &= ~USBD_TRANSFER_DIRECTION_IN; + Urb->UrbBulkOrInterruptTransfer.TransferFlags |= USBD_TRANSFER_DIRECTION_IN; } } diff --git a/reactos/sdk/include/reactos/drivers/usbport/usbmport.h b/reactos/sdk/include/reactos/drivers/usbport/usbmport.h index 9ab71b3b134..4f26703036d 100644 --- a/reactos/sdk/include/reactos/drivers/usbport/usbmport.h +++ b/reactos/sdk/include/reactos/drivers/usbport/usbmport.h @@ -580,6 +580,7 @@ typedef struct _USBPORT_MINIPORT_INTERFACE { C_ASSERT(sizeof(USBPORT_MINIPORT_INTERFACE) == 336); +#define USBPORT_TRANSFER_DIRECTION_OUT 1 // From host to device typedef struct _USBPORT_ENDPOINT_PROPERTIES { USHORT DeviceAddress; USHORT EndpointAddress;