summaryrefslogtreecommitdiff
path: root/tmk_core/protocol
diff options
context:
space:
mode:
authorFlorian Didron <fd@librem.one>2019-12-04 16:51:52 +0900
committerDrashna Jael're <drashna@live.com>2019-12-05 16:03:55 -0800
commit05ddbc6b6a589e5275acb86fb113c97fe2370da9 (patch)
tree0eca4eb40f473dea27d9e21ceb525eda88953baf /tmk_core/protocol
parent4ca92561180115079f25f651e5517846e79eb1fe (diff)
fix: lufa handle disconnections gracefully
Diffstat (limited to 'tmk_core/protocol')
-rw-r--r--tmk_core/protocol/lufa/lufa.c6
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();
}