aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethoc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
index f92747fc5f8b..0c6c7f47ace4 100644
--- a/drivers/net/ethoc.c
+++ b/drivers/net/ethoc.c
@@ -399,6 +399,10 @@ static int ethoc_rx(struct net_device *dev, int limit)
399 if (ethoc_update_rx_stats(priv, &bd) == 0) { 399 if (ethoc_update_rx_stats(priv, &bd) == 0) {
400 int size = bd.stat >> 16; 400 int size = bd.stat >> 16;
401 struct sk_buff *skb = netdev_alloc_skb(dev, size); 401 struct sk_buff *skb = netdev_alloc_skb(dev, size);
402
403 size -= 4; /* strip the CRC */
404 skb_reserve(skb, 2); /* align TCP/IP header */
405
402 if (likely(skb)) { 406 if (likely(skb)) {
403 void *src = phys_to_virt(bd.addr); 407 void *src = phys_to_virt(bd.addr);
404 memcpy_fromio(skb_put(skb, size), src, size); 408 memcpy_fromio(skb_put(skb, size), src, size);