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 <helmut.sc...@googlemail.com> --- target/linux/ramips/files/drivers/net/ramips.c | 4 ++-- 1 files 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 e3c4f13..1f3c35a 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); } -- 1.7.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel