From 20f4e05b09a19cb0feb7312e4f2b28a2095ee6e9 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 16 Sep 2019 08:24:58 -0600 Subject: [PATCH] arch/arm/src/stm32h7/stm32_ethernet.c: Bazooka Joe's fix to the STM32 F7 Ethernet driver (ec4a7be5c2540207042669e10cc4134e108dae02) should be applied to the H7 as well. The other STM32 Ethernet driver already has the change. --- arch/arm/src/stm32/stm32_eth.c | 2 +- arch/arm/src/stm32f7/stm32_ethernet.c | 2 +- arch/arm/src/stm32h7/stm32_ethernet.c | 10 ++++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/arch/arm/src/stm32/stm32_eth.c b/arch/arm/src/stm32/stm32_eth.c index 25b3573e71f..f0cf5e7dbd0 100644 --- a/arch/arm/src/stm32/stm32_eth.c +++ b/arch/arm/src/stm32/stm32_eth.c @@ -1716,7 +1716,7 @@ static void stm32_receive(FAR struct stm32_ethmac_s *priv) if (dev->d_len > CONFIG_NET_ETH_PKTSIZE) { - nerr("ERROR: Dropped, Too big: %d\n", dev->d_len); + nwarn("WARNING: DROPPED Too big: %d\n", dev->d_len); /* Free dropped packet buffer */ diff --git a/arch/arm/src/stm32f7/stm32_ethernet.c b/arch/arm/src/stm32f7/stm32_ethernet.c index fbfe2a679c3..67ecc93ba52 100644 --- a/arch/arm/src/stm32f7/stm32_ethernet.c +++ b/arch/arm/src/stm32f7/stm32_ethernet.c @@ -1796,7 +1796,7 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (dev->d_len > CONFIG_NET_ETH_PKTSIZE) { - nerr("ERROR: Dropped, Too big: %d\n", dev->d_len); + nwarn("WARNING: DROPPED Too big: %d\n", dev->d_len); /* Free dropped packet buffer */ diff --git a/arch/arm/src/stm32h7/stm32_ethernet.c b/arch/arm/src/stm32h7/stm32_ethernet.c index d58c705fee1..b66a8731f43 100644 --- a/arch/arm/src/stm32h7/stm32_ethernet.c +++ b/arch/arm/src/stm32h7/stm32_ethernet.c @@ -1884,6 +1884,16 @@ static void stm32_receive(struct stm32_ethmac_s *priv) if (dev->d_len > CONFIG_NET_ETH_PKTSIZE) { nwarn("WARNING: DROPPED Too big: %d\n", dev->d_len); + + /* Free dropped packet buffer */ + + if (dev->d_buf) + { + stm32_freebuffer(priv, dev->d_buf); + dev->d_buf = NULL; + dev->d_len = 0; + } + continue; }