X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Fcortex-m3%2Fdrv%2Fusb_stm32.c;h=752b8e2d35868d5ff845944690ecaeabac87c8c1;hb=b12629e93f75e4d8d0d750452d96d803f54489be;hp=e1fa5fbd48a90cc242e10554983fd394d326e312;hpb=6480c41afbe49bae54aeb18ce38bf58f541bf14e;p=bertos.git diff --git a/bertos/cpu/cortex-m3/drv/usb_stm32.c b/bertos/cpu/cortex-m3/drv/usb_stm32.c index e1fa5fbd..752b8e2d 100644 --- a/bertos/cpu/cortex-m3/drv/usb_stm32.c +++ b/bertos/cpu/cortex-m3/drv/usb_stm32.c @@ -1096,6 +1096,12 @@ ssize_t usb_endpointRead(int ep, void *buffer, ssize_t size) { int ep_num = usb_ep_logical_to_hw(ep); + if (UNLIKELY((size_t)buffer & 0x03)) + { + LOG_ERR("unaligned buffer @ %p\n", buffer); + ASSERT(0); + } + /* Non-blocking read for EP0 */ if (ep_num == CTRL_ENP_OUT) { @@ -1141,6 +1147,12 @@ ssize_t usb_endpointWrite(int ep, const void *buffer, ssize_t size) { int ep_num = usb_ep_logical_to_hw(ep); + if (UNLIKELY((size_t)buffer & 0x03)) + { + LOG_ERR("unaligned buffer @ %p\n", buffer); + ASSERT(0); + } + /* Non-blocking write for EP0 */ if (ep_num == CTRL_ENP_IN) {