]> git.itanic.dy.fi Git - linux-stable/blobdiff - drivers/net/ethernet/sun/sunhme.c
net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
[linux-stable] / drivers / net / ethernet / sun / sunhme.c
index 8594ee839628bd9fa80f1d8a4f8476ba2eab6ef2..88aa0d310aeef75428f97b47e6d7f1029e33440d 100644 (file)
@@ -2020,9 +2020,9 @@ static void happy_meal_rx(struct happy_meal *hp, struct net_device *dev)
 
                        skb_reserve(copy_skb, 2);
                        skb_put(copy_skb, len);
-                       dma_sync_single_for_cpu(hp->dma_dev, dma_addr, len, DMA_FROM_DEVICE);
+                       dma_sync_single_for_cpu(hp->dma_dev, dma_addr, len + 2, DMA_FROM_DEVICE);
                        skb_copy_from_linear_data(skb, copy_skb->data, len);
-                       dma_sync_single_for_device(hp->dma_dev, dma_addr, len, DMA_FROM_DEVICE);
+                       dma_sync_single_for_device(hp->dma_dev, dma_addr, len + 2, DMA_FROM_DEVICE);
                        /* Reuse original ring buffer. */
                        hme_write_rxd(hp, this,
                                      (RXFLAG_OWN|((RX_BUF_ALLOC_SIZE-RX_OFFSET)<<16)),