diff options
author | Florian Didron <fd@librem.one> | 2019-12-04 16:51:52 +0900 |
---|---|---|
committer | Drashna Jael're <drashna@live.com> | 2019-12-05 16:03:55 -0800 |
commit | 05ddbc6b6a589e5275acb86fb113c97fe2370da9 (patch) | |
tree | 0eca4eb40f473dea27d9e21ceb525eda88953baf /tmk_core | |
parent | 4ca92561180115079f25f651e5517846e79eb1fe (diff) |
fix: lufa handle disconnections gracefully
Diffstat (limited to 'tmk_core')
-rw-r--r-- | tmk_core/protocol/lufa/lufa.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index 660633fd12..a6ac44c597 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -280,7 +280,11 @@ void webusb_send(uint8_t *data, uint8_t length) { Endpoint_SelectEndpoint(WEBUSB_IN_EPNUM); - Endpoint_Write_Stream_LE(data, length, NULL); + if(Endpoint_Write_Stream_LE(data, length, NULL)) { + // Stream failed to complete, resetting WEBUSB's state + webusb_state.paired = false; + webusb_state.pairing = false; + } Endpoint_ClearIN(); } |