diff --git a/stm32cube/stm32f7xx/README b/stm32cube/stm32f7xx/README index 6e23ad41d..22a18005c 100644 --- a/stm32cube/stm32f7xx/README +++ b/stm32cube/stm32f7xx/README @@ -59,4 +59,11 @@ Patch List: Impacted files: drivers/include/Legacy/stm32_hal_legacy.h + *Fix: Use the correct register DESC0 + This fix ensures that the TX timestamp is properly set by correctly + checking the ETH_DMATXDESC_LS and ETH_DMATXDESC_TTSS flags in the DESC0 register. + Impacted files: + stm32cube/stm32f7xx/drivers/src/stm32f7xx_hal_eth.c + ST Internal reference: 185461 + See release_note.html from STM32Cube diff --git a/stm32cube/stm32f7xx/drivers/src/stm32f7xx_hal_eth.c b/stm32cube/stm32f7xx/drivers/src/stm32f7xx_hal_eth.c index 77d6f84e6..3994e5b54 100644 --- a/stm32cube/stm32f7xx/drivers/src/stm32f7xx_hal_eth.c +++ b/stm32cube/stm32f7xx/drivers/src/stm32f7xx_hal_eth.c @@ -1472,8 +1472,8 @@ HAL_StatusTypeDef HAL_ETH_ReleaseTxPacket(ETH_HandleTypeDef *heth) if ((heth->Init.TxDesc[idx].DESC0 & ETH_DMATXDESC_OWN) == 0U) { #ifdef HAL_ETH_USE_PTP - if ((heth->Init.TxDesc[idx].DESC3 & ETH_DMATXDESC_LS) - && (heth->Init.TxDesc[idx].DESC3 & ETH_DMATXDESC_TTSS)) + if ((heth->Init.TxDesc[idx].DESC0 & ETH_DMATXDESC_LS) + && (heth->Init.TxDesc[idx].DESC0 & ETH_DMATXDESC_TTSS)) { /* Get timestamp low */ timestamp->TimeStampLow = heth->Init.TxDesc[idx].DESC6;