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: 88ebe2cf7f
("net: stmmac: Rework stmmac_rx()")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
eaf4fac478
commit
93b5dce401
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue