--- a/drivers/net/ethernet/lantiq_xrx200.c +++ b/drivers/net/ethernet/lantiq_xrx200.c @@ -933,7 +933,7 @@ static void xrx200_hw_receive(struct xrx struct xrx200_priv *priv = netdev_priv(dev); struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc]; struct sk_buff *skb = ch->skb[ch->dma.desc]; - int len = (desc->ctl & LTQ_DMA_SIZE_MASK); + int len = (desc->ctl & LTQ_DMA_SIZE_MASK) - ETH_FCS_LEN; unsigned long flags; spin_lock_irqsave(&priv->hw->lock, flags);