diff options
Diffstat (limited to 'drivers/net/via-velocity.c')
| -rw-r--r-- | drivers/net/via-velocity.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index 422eaf8ea12..25b75b61518 100644 --- a/drivers/net/via-velocity.c +++ b/drivers/net/via-velocity.c @@ -1339,7 +1339,8 @@ static inline int velocity_rx_copy(struct sk_buff **rx_skb, int pkt_size,  			if (vptr->flags & VELOCITY_FLAGS_IP_ALIGN)  				skb_reserve(new_skb, 2); -			memcpy(new_skb->data, rx_skb[0]->data, pkt_size); +			skb_copy_from_linear_data(rx_skb[0], new_skb->data, +						  pkt_size);  			*rx_skb = new_skb;  			ret = 0;  		} @@ -1927,7 +1928,7 @@ static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)  	if (pktlen < ETH_ZLEN) {  		/* Cannot occur until ZC support */  		pktlen = ETH_ZLEN; -		memcpy(tdinfo->buf, skb->data, skb->len); +		skb_copy_from_linear_data(skb, tdinfo->buf, skb->len);  		memset(tdinfo->buf + skb->len, 0, ETH_ZLEN - skb->len);  		tdinfo->skb = skb;  		tdinfo->skb_dma[0] = tdinfo->buf_dma; @@ -1943,7 +1944,7 @@ static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)  		int nfrags = skb_shinfo(skb)->nr_frags;  		tdinfo->skb = skb;  		if (nfrags > 6) { -			memcpy(tdinfo->buf, skb->data, skb->len); +			skb_copy_from_linear_data(skb, tdinfo->buf, skb->len);  			tdinfo->skb_dma[0] = tdinfo->buf_dma;  			td_ptr->tdesc0.pktsize =  			td_ptr->td_buf[0].pa_low = cpu_to_le32(tdinfo->skb_dma[0]);  |