From 088e451b7a804e8d15f49bc3622ddaea9f0703ed Mon Sep 17 00:00:00 2001 From: Mikko Polojarvi Date: Mon, 27 Jul 2015 15:04:03 +0300 Subject: [PATCH] SiL USB: Correctly handle ep0 reset on Happy Use correct function when resetting endpoint 0 (on stall etc) on Happy Gecko. --- .../USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbd.c | 4 ++++ .../USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbdep.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbd.c b/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbd.c index 3a5614e82b..0a24f7e82c 100644 --- a/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbd.c +++ b/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbd.c @@ -920,7 +920,11 @@ void USBD_StallEp0() USBDHAL_StallEp( ep ); /* Stall Ep0 IN */ ep->in = false; /* OUT for next SETUP */ USBDHAL_StallEp( ep ); /* Stall Ep0 OUT */ +#if !defined( USB_DOEP0INT_STUPPKTRCVD ) USBDHAL_ReenableEp0Setup( dev ); /* Prepare for next SETUP pkt. */ +#else + USBDHAL_StartEp0Setup( dev ); +#endif ep->state = D_EP_IDLE; } diff --git a/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbdep.c b/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbdep.c index de1d138a65..2017edaf97 100644 --- a/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbdep.c +++ b/libraries/USBDevice/USBDevice/TARGET_Silicon_Labs/src/em_usbdep.c @@ -260,7 +260,7 @@ void USBDEP_Ep0Handler( USBD_Device_TypeDef *device ) callback( USB_STATUS_OK, ep->xferred, ep->remaining ); } - USBDHAL_ReenableEp0Setup(device); + USBDHAL_StartEp0Setup( dev ); } else {