diff --git a/os/hal/ports/STM32/LLD/MACv1/hal_mac_lld.c b/os/hal/ports/STM32/LLD/MACv1/hal_mac_lld.c index 1a625338c..232fb0ec7 100644 --- a/os/hal/ports/STM32/LLD/MACv1/hal_mac_lld.c +++ b/os/hal/ports/STM32/LLD/MACv1/hal_mac_lld.c @@ -352,6 +352,11 @@ void mac_lld_start(MACDriver *macp) { ETH->MACCR = ETH_MACCR_RE | ETH_MACCR_TE; #endif + /* MMC configuration: + Disable all MMC interrupts.*/ + ETH->MMCRIMR = ETH_MMCRIMR_RFCEM | ETH_MMCRIMR_RFAEM | ETH_MMCRIMR_RGUFM; + ETH->MMCTIMR = ETH_MMCTIMR_TGFSCM | ETH_MMCTIMR_TGFMSCM | ETH_MMCTIMR_TGFM; + /* DMA configuration: Descriptor chains pointers.*/ ETH->DMARDLAR = (uint32_t)__eth_rd; diff --git a/readme.txt b/readme.txt index 1c0bc6f68..c23dea777 100644 --- a/readme.txt +++ b/readme.txt @@ -86,6 +86,8 @@ - FIX: Fixed GPIOH clock not enabled on STM32L432 (bug #1223). - FIX: Fixed incorrect type cast in TIME_I2US() (bug #1221). - FIX: Fixed missing clock disable for STM32 OCTOSPI2 (bug #1220). +- FIX: Fixed STM32 Ethernet driver causes system hang after 2^31 packets + sent/received (bug #1218). - FIX: Fixed Virtual Timers failure in a specific condition (bug #1215). - FIX: Fixed invalid state transition in SNOR flash driver (bug #1212). - FIX: Fixed missing check in chobjcaches.h (bug #1210).