Skip to content

Commit 8efd123

Browse files
author
Seppo Takalo
authored
Merge pull request #11042 from caoyuan96421/bugfix
Fixed serial_device IRQ infinite loop bug due to uint8_t overflowing in STM devices
2 parents 5b6034d + 6ed21ee commit 8efd123

File tree

11 files changed

+11
-11
lines changed

11 files changed

+11
-11
lines changed

targets/TARGET_STM/TARGET_STM32F0/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ int serial_irq_handler_asynch(serial_t *obj)
605605

606606
volatile int return_event = 0;
607607
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
608-
uint8_t i = 0;
608+
size_t i = 0;
609609

610610
// TX PART:
611611
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32F1/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ int serial_irq_handler_asynch(serial_t *obj)
476476

477477
volatile int return_event = 0;
478478
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
479-
uint8_t i = 0;
479+
size_t i = 0;
480480

481481
// TX PART:
482482
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32F2/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ int serial_irq_handler_asynch(serial_t *obj)
559559

560560
volatile int return_event = 0;
561561
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
562-
uint8_t i = 0;
562+
size_t i = 0;
563563

564564
// TX PART:
565565
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32F3/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ int serial_irq_handler_asynch(serial_t *obj)
522522

523523
volatile int return_event = 0;
524524
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
525-
uint8_t i = 0;
525+
size_t i = 0;
526526

527527
// TX PART:
528528
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32F4/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ int serial_irq_handler_asynch(serial_t *obj)
604604

605605
volatile int return_event = 0;
606606
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
607-
uint8_t i = 0;
607+
size_t i = 0;
608608

609609
// TX PART:
610610
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32F7/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ int serial_irq_handler_asynch(serial_t *obj)
560560

561561
volatile int return_event = 0;
562562
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
563-
uint8_t i = 0;
563+
size_t i = 0;
564564

565565
// TX PART:
566566
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32H7/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ int serial_irq_handler_asynch(serial_t *obj)
573573

574574
volatile int return_event = 0;
575575
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
576-
uint8_t i = 0;
576+
size_t i = 0;
577577

578578
// TX PART:
579579
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32L0/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ int serial_irq_handler_asynch(serial_t *obj)
500500

501501
volatile int return_event = 0;
502502
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
503-
uint8_t i = 0;
503+
size_t i = 0;
504504

505505
// TX PART:
506506
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32L1/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ int serial_irq_handler_asynch(serial_t *obj)
512512

513513
volatile int return_event = 0;
514514
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
515-
uint8_t i = 0;
515+
size_t i = 0;
516516

517517
// TX PART:
518518
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32L4/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ int serial_irq_handler_asynch(serial_t *obj)
536536

537537
volatile int return_event = 0;
538538
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
539-
uint8_t i = 0;
539+
size_t i = 0;
540540

541541
// TX PART:
542542
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

targets/TARGET_STM/TARGET_STM32WB/serial_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ int serial_irq_handler_asynch(serial_t *obj)
461461

462462
volatile int return_event = 0;
463463
uint8_t *buf = (uint8_t *)(obj->rx_buff.buffer);
464-
uint8_t i = 0;
464+
size_t i = 0;
465465

466466
// TX PART:
467467
if (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) != RESET) {

0 commit comments

Comments
 (0)