diff options
Diffstat (limited to 'drivers/s390/net/qeth_main.c')
| -rw-r--r-- | drivers/s390/net/qeth_main.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index df7f279ec40..ad7792dc1a0 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c @@ -2501,7 +2501,8 @@ qeth_process_inbound_buffer(struct qeth_card *card,  			vlan_tag = qeth_rebuild_skb(card, skb, hdr);  		else { /*in case of OSN*/  			skb_push(skb, sizeof(struct qeth_hdr)); -			memcpy(skb->data, hdr, sizeof(struct qeth_hdr)); +			skb_copy_to_linear_data(skb, hdr, +						sizeof(struct qeth_hdr));  		}  		/* is device UP ? */  		if (!(card->dev->flags & IFF_UP)){ @@ -3870,9 +3871,9 @@ __qeth_prepare_skb(struct qeth_card *card, struct sk_buff *skb, int ipv)  		 * memcpys instead of one memmove to save cycles.  		 */  		skb_push(skb, VLAN_HLEN); -		memcpy(skb->data, skb->data + 4, 4); -		memcpy(skb->data + 4, skb->data + 8, 4); -		memcpy(skb->data + 8, skb->data + 12, 4); +		skb_copy_to_linear_data(skb, skb->data + 4, 4); +		skb_copy_to_linear_data_offset(skb, 4, skb->data + 8, 4); +		skb_copy_to_linear_data_offset(skb, 8, skb->data + 12, 4);  		tag = (u16 *)(skb->data + 12);  		/*  		 * first two bytes  = ETH_P_8021Q (0x8100)  |