|
@@ -3495,8 +3495,13 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
|
|
|
|
|
|
/* ACS is set; GMAC core strips PAD/FCS for IEEE 802.3
|
|
|
* Type frames (LLC/LLC-SNAP)
|
|
|
+ *
|
|
|
+ * llc_snap is never checked in GMAC >= 4, so this ACS
|
|
|
+ * feature is always disabled and packets need to be
|
|
|
+ * stripped manually.
|
|
|
*/
|
|
|
- if (unlikely(status != llc_snap))
|
|
|
+ if (unlikely(priv->synopsys_id >= DWMAC_CORE_4_00) ||
|
|
|
+ unlikely(status != llc_snap))
|
|
|
frame_len -= ETH_FCS_LEN;
|
|
|
|
|
|
if (netif_msg_rx_status(priv)) {
|