From 2e56d8e14eb9ffbcc533e5cb2484a6448ccb439a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 3 Jun 2012 09:18:38 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4258 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/STM32/OTGv1/usb_lld.c | 4 ++-- os/hal/src/usb.c | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/os/hal/platforms/STM32/OTGv1/usb_lld.c b/os/hal/platforms/STM32/OTGv1/usb_lld.c index 327fe17d3..2a6399511 100644 --- a/os/hal/platforms/STM32/OTGv1/usb_lld.c +++ b/os/hal/platforms/STM32/OTGv1/usb_lld.c @@ -71,7 +71,7 @@ static union { /** * @brief Buffer for the EP0 setup packets. */ -static uint8_t ep8setup_buffer[8]; +static uint8_t ep0setup_buffer[8]; /** * @brief EP0 initialization structure. @@ -85,7 +85,7 @@ static const USBEndpointConfig ep0config = { 0x40, &ep0_state.in, &ep0_state.out, - ep8setup_buffer + ep0setup_buffer }; /*===========================================================================*/ diff --git a/os/hal/src/usb.c b/os/hal/src/usb.c index cbd009483..1927581f1 100644 --- a/os/hal/src/usb.c +++ b/os/hal/src/usb.c @@ -571,20 +571,20 @@ void _usb_ep0in(USBDriver *usbp, usbep_t ep) { switch (usbp->ep0state) { case USB_EP0_TX: max = usb_lld_fetch_word(&usbp->setup[6]); - /* If the transmitted size is less than the requested size and it is a - multiple of the maximum packet size then a zero size packet must be - transmitted.*/ - if ((usbp->ep0n < max) && - ((usbp->ep0n % usbp->epc[0]->in_maxsize) == 0)) { - usb_lld_prepare_transmit(usbp, 0, NULL, 0); - usb_lld_start_in(usbp, 0); - return; - } - - /* Transmit phase over, receiving the zero sized status packet.*/ - usbp->ep0state = USB_EP0_WAITING_STS; - usb_lld_prepare_receive(usbp, 0, NULL, 0); - usb_lld_start_out(usbp, 0); + /* If the transmitted size is less than the requested size and it is a + multiple of the maximum packet size then a zero size packet must be + transmitted.*/ + if ((usbp->ep0n < max) && + ((usbp->ep0n % usbp->epc[0]->in_maxsize) == 0)) { + usb_lld_prepare_transmit(usbp, 0, NULL, 0); + usb_lld_start_in(usbp, 0); + return; + } + + /* Transmit phase over, receiving the zero sized status packet.*/ + usbp->ep0state = USB_EP0_WAITING_STS; + usb_lld_prepare_receive(usbp, 0, NULL, 0); + usb_lld_start_out(usbp, 0); return; case USB_EP0_SENDING_STS: /* Status packet sent, invoking the callback if defined.*/ -- cgit v1.2.3