diff --git a/os/hal/include/hal_i2s.h b/os/hal/include/hal_i2s.h index a7ec3b352..5d9e3cc57 100644 --- a/os/hal/include/hal_i2s.h +++ b/os/hal/include/hal_i2s.h @@ -129,17 +129,16 @@ typedef enum { * * @notapi */ -#define _i2s_isr_full_code(i2sp) { \ +#define _i2s_isr_full_code(i2sp) { \ if ((i2sp)->config->end_cb) { \ (i2sp)->state = I2S_COMPLETE; \ (i2sp)->config->end_cb(i2sp, \ (i2sp)->config->size / 2, \ (i2sp)->config->size / 2); \ - if ((i2sp)->state == I2S_COMPLETE) \ - (i2sp)->state = I2S_READY; \ + if ((i2sp)->state == I2S_COMPLETE) { \ + (i2sp)->state = I2S_ACTIVE; \ + } \ } \ - else \ - (i2sp)->state = I2S_READY; \ } /** @} */ diff --git a/readme.txt b/readme.txt index f39a1e970..372d71e9d 100644 --- a/readme.txt +++ b/readme.txt @@ -141,6 +141,8 @@ - EX: Updated LIS302DL to 1.1.0 (backported to 18.2.1). - EX: Updated LPS25H to 1.1.0 (backported to 18.2.1). - EX: Updated LSM303DLHC to 1.1.0 (backported to 18.2.1). +- HAL: Fixed incorrect state change in I2S driver (bug #959)(backported + to 18.2.2 and 17.6.5). - HAL: Fixed incorrect TCIE handling in STM32 serial drivers (bug #958) (backported to 18.2.2 and 17.6.5). - HAL: Fixed invalid period calculation in STM32 GPT driver (bug #957)