OpenCloudOS-Kernel/drivers/net/stmmac
Giuseppe CAVALLARO 3eeb29972b stmmac: fix automatic PAD/FCS stripping
For Simple Ethernet frames (802.2 and 802.3) the GMAC Core
never strips pad and fcs. This means the ACS has no effect
on IPv4/6 frames.
The FL bits, in the RDES0, include the FCS so the driver
has to remove it in SW.
For 802.3 frame format with LLC or LLC-SNAP, when set the ACS
bit, the HW strips both PAD and FCS.
The FL bits, in the RDES0, actually represents the frame length
already stripped.
This patch fixes this logic within the device driver that
erroneously removed 4byte from 802.3 frames already stripped
corrupting the payload.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-07-27 20:43:50 -07:00
..
Kconfig stmmac: fix kconfig for crc32 build error 2010-04-01 17:25:59 -07:00
Makefile stmmac: rework normal and enhanced descriptors 2010-04-14 04:49:50 -07:00
common.h stmmac: fix automatic PAD/FCS stripping 2010-07-27 20:43:50 -07:00
descs.h stmmac: rename the gmac as dwmac1000 and split core and dma parts 2010-01-07 17:06:10 -08:00
dwmac100.h stmmac: rework normal and enhanced descriptors 2010-04-14 04:49:50 -07:00
dwmac100_core.c stmmac: handle allocation errors in setup functions 2010-07-22 14:14:48 -07:00
dwmac100_dma.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
dwmac1000.h stmmac: fix automatic PAD/FCS stripping 2010-07-27 20:43:50 -07:00
dwmac1000_core.c stmmac: handle allocation errors in setup functions 2010-07-22 14:14:48 -07:00
dwmac1000_dma.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
dwmac_dma.h stmmac: fix Transmit FIFO flush operation 2010-04-14 04:49:51 -07:00
dwmac_lib.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
enh_desc.c stmmac: fix automatic PAD/FCS stripping 2010-07-27 20:43:50 -07:00
norm_desc.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
stmmac.h stmmac: updated the drv module version 2010-04-14 04:49:53 -07:00
stmmac_ethtool.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
stmmac_main.c stmmac: fix automatic PAD/FCS stripping 2010-07-27 20:43:50 -07:00
stmmac_mdio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
stmmac_timer.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
stmmac_timer.h stmmac: do not fail when the timer cannot be used. 2009-11-23 10:37:52 -08:00