aboutsummaryrefslogtreecommitdiff
path: root/src/platforms/stm32
diff options
context:
space:
mode:
authorUwe Bonnes2013-02-15 17:55:36 +0100
committerUwe Bonnes2013-02-15 17:55:36 +0100
commitff8de3977411011c3540bff3a6e781d82e7f1d42 (patch)
treeb6eb3831ebdbdb33a904fe910f1bd9c77b5643a2 /src/platforms/stm32
parentdee82a0d4fe2b649611525e5415f19186a051dfa (diff)
usbuart: Don't try to send until configured. Enumeration may hang else
Diffstat (limited to 'src/platforms/stm32')
-rw-r--r--src/platforms/stm32/usbuart.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/platforms/stm32/usbuart.c b/src/platforms/stm32/usbuart.c
index fac7b96..1c71105 100644
--- a/src/platforms/stm32/usbuart.c
+++ b/src/platforms/stm32/usbuart.c
@@ -126,6 +126,12 @@ void USBUSART_ISR(void)
{
char c = usart_recv(USBUSART);
+ /* Don't try to write until we are configured.
+ * Otherwise enumeration hanged in some cases.
+ */
+ if (cdcacm_get_config() != 1)
+ return;
+
gpio_set(LED_PORT_UART, LED_UART);
/* Try to send now */