diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 87e9b844..9fc055dc 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,8 @@ lib_xud Change Log ----- * RESOLVED: Cases where disabling RxError caused firmware to crash + * RESOLVED: USB Disconnect on self-powered devices intermittently causing + EP set to not-ready indefinitely 1.1.0 ----- diff --git a/lib_xud/src/core/included/XUD_Token_Out.S b/lib_xud/src/core/included/XUD_Token_Out.S index 028e7870..cdca3491 100755 --- a/lib_xud/src/core/included/XUD_Token_Out.S +++ b/lib_xud/src/core/included/XUD_Token_Out.S @@ -1,4 +1,4 @@ -// Copyright (c) 2011-2018, XMOS Ltd, All rights reserved +// Copyright (c) 2011-2020, XMOS Ltd, All rights reserved // r10: EP number // OUT Token Packet ----------------------------------------------------------------------------- // Ports @@ -28,9 +28,10 @@ CheckEpTypeOut: bt r11, DoOutNonIso // ISO endpoint OutReady: - stw r11, r5[r10] // Clear ready straight away - we don't to CRC checking on Iso - else we would have to wait for end of packet bl doRXData clre + ldc r11, 0 + stw r11, r5[r10] // Clear ready after receiving packet - avoids EP getting stuck in not-ready state if interrupted InformEP_Iso: // Iso EP - no handshake ldw r11, r3[1] // Load EP chanend