diff options
-rw-r--r-- | LUFA/ChangeLog.txt | 1 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/DevChapter9.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt index 1833596f3..d86805578 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 6ecadb00d..785d10fac 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;
|