aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2022-03-07 00:24:29 +0100
committerDario Nieuwenhuis <[email protected]>2022-03-07 00:32:31 +0100
commit8acec146e0b11fc7ce07b193a37f8903c66ec821 (patch)
tree60fc6f5b5fd23fc6ecb4198d23c9d6d93b44e5d6
parent88d9599a63a89a1ba2c107671945e034e16a3f30 (diff)
common/serial/usb: fix hang when write buffer gets full and then the bus resets.
Fixes #654
-rw-r--r--embassy-hal-common/src/usb/usb_serial.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/embassy-hal-common/src/usb/usb_serial.rs b/embassy-hal-common/src/usb/usb_serial.rs
index 20a1840b2..94f687890 100644
--- a/embassy-hal-common/src/usb/usb_serial.rs
+++ b/embassy-hal-common/src/usb/usb_serial.rs
@@ -302,6 +302,8 @@ where
302 self.read_buf.clear(); 302 self.read_buf.clear();
303 self.write_buf.clear(); 303 self.write_buf.clear();
304 self.write_state = WriteState::Idle; 304 self.write_state = WriteState::Idle;
305 self.read_waker.wake();
306 self.write_waker.wake();
305 } 307 }
306 308
307 fn endpoint_in_complete(&mut self, addr: EndpointAddress) { 309 fn endpoint_in_complete(&mut self, addr: EndpointAddress) {