AnsweredAssumed Answered

STM32F4xx HAL Library CAN Driver HAL_CAN_Transmit_IT missing unlock bug

Question asked by zhao.max on Feb 11, 2015
Environment:
Keil STM32F4xx_DFP, version 2.2.0;

Offending file:
stm32f4xx_hal_can.c. Version: V1.1.0; Line: 670, 738.

Description:
__HAL_LOCK is called for any case hcan->State == HAL_CAN_STATE_READY or HAL_CAN_STATE_BUSY_RX, but __HAL_UNLOCK is only called, when also transmitmailbox != CAN_TXSTATUS_NOMAILBOX. This means that when the three transmit mailboxes are all full, this function will lock the CAN handle and block all future HAL calls using this CAN handle.

Looking forward to an update.

Outcomes