aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_main.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c
index df7f279ec408..ad7792dc1a04 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,
2501 vlan_tag = qeth_rebuild_skb(card, skb, hdr); 2501 vlan_tag = qeth_rebuild_skb(card, skb, hdr);
2502 else { /*in case of OSN*/ 2502 else { /*in case of OSN*/
2503 skb_push(skb, sizeof(struct qeth_hdr)); 2503 skb_push(skb, sizeof(struct qeth_hdr));
2504 memcpy(skb->data, hdr, sizeof(struct qeth_hdr)); 2504 skb_copy_to_linear_data(skb, hdr,
2505 sizeof(struct qeth_hdr));
2505 } 2506 }
2506 /* is device UP ? */ 2507 /* is device UP ? */
2507 if (!(card->dev->flags & IFF_UP)){ 2508 if (!(card->dev->flags & IFF_UP)){
@@ -3870,9 +3871,9 @@ __qeth_prepare_skb(struct qeth_card *card, struct sk_buff *skb, int ipv)
3870 * memcpys instead of one memmove to save cycles. 3871 * memcpys instead of one memmove to save cycles.
3871 */ 3872 */
3872 skb_push(skb, VLAN_HLEN); 3873 skb_push(skb, VLAN_HLEN);
3873 memcpy(skb->data, skb->data + 4, 4); 3874 skb_copy_to_linear_data(skb, skb->data + 4, 4);
3874 memcpy(skb->data + 4, skb->data + 8, 4); 3875 skb_copy_to_linear_data_offset(skb, 4, skb->data + 8, 4);
3875 memcpy(skb->data + 8, skb->data + 12, 4); 3876 skb_copy_to_linear_data_offset(skb, 8, skb->data + 12, 4);
3876 tag = (u16 *)(skb->data + 12); 3877 tag = (u16 *)(skb->data + 12);
3877 /* 3878 /*
3878 * first two bytes = ETH_P_8021Q (0x8100) 3879 * first two bytes = ETH_P_8021Q (0x8100)