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 <helmut.schaa@googlemail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24123 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
77a769e423
commit
00bd3f47c4
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue