Commit 93b5dce4 authored by Jose Abreu's avatar Jose Abreu Committed by David S. Miller

net: stmmac: Only the last buffer has the FCS field

Only the last received buffer contains the FCS field. Check for end of
packet before trying to strip the FCS field.

Fixes: 88ebe2cf ("net: stmmac: Rework stmmac_rx()")
Signed-off-by: default avatarJose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent eaf4fac4
...@@ -3644,8 +3644,9 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue) ...@@ -3644,8 +3644,9 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
* feature is always disabled and packets need to be * feature is always disabled and packets need to be
* stripped manually. * stripped manually.
*/ */
if (unlikely(priv->synopsys_id >= DWMAC_CORE_4_00) || if (likely(!(status & rx_not_ls)) &&
unlikely(status != llc_snap)) { (likely(priv->synopsys_id >= DWMAC_CORE_4_00) ||
unlikely(status != llc_snap))) {
if (buf2_len) if (buf2_len)
buf2_len -= ETH_FCS_LEN; buf2_len -= ETH_FCS_LEN;
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment