From 5555b54f95b4fab888373d25a1e5501f3c164f8a 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); } -- 2.30.2