diff --git a/os/hal/ports/STM32/LLD/USARTv2/hal_sio_lld.c b/os/hal/ports/STM32/LLD/USARTv2/hal_sio_lld.c index fcc8543f8..49f547dfe 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/hal_sio_lld.c +++ b/os/hal/ports/STM32/LLD/USARTv2/hal_sio_lld.c @@ -586,7 +586,7 @@ size_t sio_lld_read(SIODriver *siop, uint8_t *buffer, size_t n) { } /* Buffer filled condition.*/ - if (rd > n) { + if (rd >= n) { break; } diff --git a/os/hal/ports/STM32/LLD/USARTv3/hal_sio_lld.c b/os/hal/ports/STM32/LLD/USARTv3/hal_sio_lld.c index ce4af1001..2604c333e 100644 --- a/os/hal/ports/STM32/LLD/USARTv3/hal_sio_lld.c +++ b/os/hal/ports/STM32/LLD/USARTv3/hal_sio_lld.c @@ -594,7 +594,7 @@ size_t sio_lld_read(SIODriver *siop, uint8_t *buffer, size_t n) { } /* Buffer filled condition.*/ - if (rd > n) { + if (rd >= n) { break; } diff --git a/readme.txt b/readme.txt index f232e5589..6e8c3a975 100644 --- a/readme.txt +++ b/readme.txt @@ -120,6 +120,8 @@ - NEW: On STM32WBxx added a check on STM32_LSI_ENABLE required by IWDG. - NEW: Added SPIv2 support also to STM32WB and STM32WL. - FIX: Reverted bug #1100 (backported to 20.3.5)(backported to 21.11.2). +- FIX: Fixed wrong condition in STM32 sio_lld_read() function (bug #1219) + (backported to 20.3.5)(backported to 21.11.2). - FIX: Fixed clock re-initialization problem in STM32 USARTv2 and USARTv3 drivers (bug #1217)(backported to 21.11.2). - FIX: Fixed assertion on initialization of STM32H7xx (bug #1216)