From 624cfc5c9114dabe86ca85bbd01147c25845b128 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Wed, 24 Nov 2010 10:01:16 +0000 Subject: [PATCH] ramips: DMA map the correct RX skb size The skb_reserve call prior to DMA mapping the RX skb reduced the skb data len by 2. To not allow DMA to write behind the skb we should pass the correct skb data len to the device. Signed-off-by: Helmut Schaa SVN-Revision: 24123 --- target/linux/ramips/files/drivers/net/ramips.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/ramips/files/drivers/net/ramips.c b/target/linux/ramips/files/drivers/net/ramips.c index e3c4f13d46..1f3c35aa9d 100644 --- a/target/linux/ramips/files/drivers/net/ramips.c +++ b/target/linux/ramips/files/drivers/net/ramips.c @@ -177,7 +177,7 @@ ramips_alloc_dma(struct raeth_priv *re) skb_reserve(new_skb, 2); re->rx[i].rxd1 = dma_map_single(NULL, new_skb->data, - MAX_RX_LENGTH + 2, + MAX_RX_LENGTH, DMA_FROM_DEVICE); re->rx[i].rxd2 |= RX_DMA_LSO; re->rx_skb[i] = new_skb; @@ -288,7 +288,7 @@ ramips_eth_rx_hw(unsigned long ptr) skb_reserve(new_skb, 2); priv->rx[rx].rxd1 = dma_map_single(NULL, new_skb->data, - MAX_RX_LENGTH + 2, + MAX_RX_LENGTH, DMA_FROM_DEVICE); }