From 0d5baf9bb3e88ebcbc53cc9a71566582d585f7dd Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 13 May 2009 22:40:08 +0000 Subject: [PATCH] Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman). --- LUFA/ChangeLog.txt | 1 + LUFA/Drivers/USB/LowLevel/DevChapter9.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt index 1833596f31..d868055782 100644 --- a/LUFA/ChangeLog.txt +++ b/LUFA/ChangeLog.txt @@ -13,6 +13,7 @@ * - Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled * - Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman) * - Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues + * - Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman) * * * \section Sec_ChangeLog090510 Version 090510 diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c index 6ecadb00d8..785d10faca 100644 --- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c +++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c @@ -62,7 +62,8 @@ void USB_Device_ProcessControlPacket(void) break; case REQ_ClearFeature: case REQ_SetFeature: - if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT)) + if ((bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE)) || + (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT))) { USB_Device_ClearSetFeature(); RequestHandled = true;