Fixed incorrect endpoint bank setup on the UC3 architecture (thanks to Andrus Aaslaid).
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 18 Feb 2018 06:55:12 +0000 (17:55 +1100)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 18 Feb 2018 06:55:12 +0000 (17:55 +1100)
LUFA/DoxygenPages/ChangeLog.txt
LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h

index 0370ed9..780519d 100644 (file)
@@ -16,6 +16,7 @@
   *   - Fixed DeviceUsesOUTPipe flag not being set correctly in the HID host class driver (thanks to Wolfgang Schnerring)
   *   - Fixed CDC Device class driver's internal serial stream created by \ref CDC_Device_CreateStream not returning the written
   *     character after a successful write (thanks to NicoHood)
   *   - Fixed DeviceUsesOUTPipe flag not being set correctly in the HID host class driver (thanks to Wolfgang Schnerring)
   *   - Fixed CDC Device class driver's internal serial stream created by \ref CDC_Device_CreateStream not returning the written
   *     character after a successful write (thanks to NicoHood)
+  *   - Fixed incorrect endpoint bank setup on the UC3 architecture (thanks to Andrus Aaslaid)
   *  - Library Applications:
   *   - Fixed bootloaders not disabling global interrupts during erase and write operations (thanks to Zoltan)
   *   - Fixed bootloaders accepting flash writes to the bootloader region (thanks to NicoHood)
   *  - Library Applications:
   *   - Fixed bootloaders not disabling global interrupts during erase and write operations (thanks to Zoltan)
   *   - Fixed bootloaders accepting flash writes to the bootloader region (thanks to NicoHood)
index c12dd70..e6c6fd5 100644 (file)
                                                                      (AVR32_USBB_ALLOC_MASK |
                                                                       ((uint32_t)Type << AVR32_USBB_EPTYPE_OFFSET) |
                                                                       ((Address & ENDPOINT_DIR_IN) ? AVR32_USBB_UECFG0_EPDIR_MASK : 0) |
                                                                      (AVR32_USBB_ALLOC_MASK |
                                                                       ((uint32_t)Type << AVR32_USBB_EPTYPE_OFFSET) |
                                                                       ((Address & ENDPOINT_DIR_IN) ? AVR32_USBB_UECFG0_EPDIR_MASK : 0) |
-                                                                      ((Banks > 1) ? AVR32_USBB_UECFG0_EPBK_SINGLE : AVR32_USBB_UECFG0_EPBK_DOUBLE) |
+                                                                      (((Banks > 1) ? AVR32_USBB_UECFG0_EPBK_DOUBLE : AVR32_USBB_UECFG0_EPBK_SINGLE) << AVR32_USBB_EPBK_OFFSET) |
                                                                       Endpoint_BytesToEPSizeMask(Size)));
                        }
 
                                                                       Endpoint_BytesToEPSizeMask(Size)));
                        }