aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/bonding/bond_alb.c4
-rw-r--r--drivers/net/e1000/e1000_main.c10
-rw-r--r--drivers/s390/net/qeth_eddp.c8
-rw-r--r--drivers/s390/net/qeth_main.c3
-rw-r--r--drivers/s390/net/qeth_tso.h2
5 files changed, 14 insertions, 13 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 8555afa574a4..b8cf777542fa 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -1304,8 +1304,8 @@ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev)
1304 break; 1304 break;
1305 } 1305 }
1306 1306
1307 hash_start = (char*)&(skb->nh.ipv6h->daddr); 1307 hash_start = (char *)&(ipv6_hdr(skb)->daddr);
1308 hash_size = sizeof(skb->nh.ipv6h->daddr); 1308 hash_size = sizeof(ipv6_hdr(skb)->daddr);
1309 break; 1309 break;
1310 case ETH_P_IPX: 1310 case ETH_P_IPX:
1311 if (ipx_hdr(skb)->ipx_checksum != 1311 if (ipx_hdr(skb)->ipx_checksum !=
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index c324866c9789..a3d9986b4170 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2899,13 +2899,11 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
2899 cmd_length = E1000_TXD_CMD_IP; 2899 cmd_length = E1000_TXD_CMD_IP;
2900 ipcse = skb->h.raw - skb->data - 1; 2900 ipcse = skb->h.raw - skb->data - 1;
2901 } else if (skb->protocol == htons(ETH_P_IPV6)) { 2901 } else if (skb->protocol == htons(ETH_P_IPV6)) {
2902 skb->nh.ipv6h->payload_len = 0; 2902 ipv6_hdr(skb)->payload_len = 0;
2903 skb->h.th->check = 2903 skb->h.th->check =
2904 ~csum_ipv6_magic(&skb->nh.ipv6h->saddr, 2904 ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr,
2905 &skb->nh.ipv6h->daddr, 2905 &ipv6_hdr(skb)->daddr,
2906 0, 2906 0, IPPROTO_TCP, 0);
2907 IPPROTO_TCP,
2908 0);
2909 ipcse = 0; 2907 ipcse = 0;
2910 } 2908 }
2911 ipcss = skb_network_offset(skb); 2909 ipcss = skb_network_offset(skb);
diff --git a/drivers/s390/net/qeth_eddp.c b/drivers/s390/net/qeth_eddp.c
index 1574247abaa1..90da58b4e532 100644
--- a/drivers/s390/net/qeth_eddp.c
+++ b/drivers/s390/net/qeth_eddp.c
@@ -479,9 +479,11 @@ qeth_eddp_fill_context_tcp(struct qeth_eddp_context *ctx,
479 skb->h.raw, 479 skb->h.raw,
480 skb->h.th->doff * 4); 480 skb->h.th->doff * 4);
481 else 481 else
482 eddp = qeth_eddp_create_eddp_data(qhdr, (u8 *)skb->nh.ipv6h, 482 eddp = qeth_eddp_create_eddp_data(qhdr,
483 sizeof(struct ipv6hdr), 483 skb_network_header(skb),
484 (u8 *)skb->h.th, skb->h.th->doff*4); 484 sizeof(struct ipv6hdr),
485 skb->h.raw,
486 skb->h.th->doff * 4);
485 487
486 if (eddp == NULL) { 488 if (eddp == NULL) {
487 QETH_DBF_TEXT(trace, 2, "eddpfcnm"); 489 QETH_DBF_TEXT(trace, 2, "eddpfcnm");
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c
index 8a07d548a05a..df7f279ec408 100644
--- a/drivers/s390/net/qeth_main.c
+++ b/drivers/s390/net/qeth_main.c
@@ -4053,7 +4053,8 @@ qeth_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
4053 skb->dst->neighbour->primary_key, 16); 4053 skb->dst->neighbour->primary_key, 16);
4054 } else { 4054 } else {
4055 /* fill in destination address used in ip header */ 4055 /* fill in destination address used in ip header */
4056 memcpy(hdr->hdr.l3.dest_addr, &skb->nh.ipv6h->daddr, 16); 4056 memcpy(hdr->hdr.l3.dest_addr,
4057 &ipv6_hdr(skb)->daddr, 16);
4057 } 4058 }
4058 } else { /* passthrough */ 4059 } else { /* passthrough */
4059 if((skb->dev->type == ARPHRD_IEEE802_TR) && 4060 if((skb->dev->type == ARPHRD_IEEE802_TR) &&
diff --git a/drivers/s390/net/qeth_tso.h b/drivers/s390/net/qeth_tso.h
index 255cb2e9c796..4040bdd8c327 100644
--- a/drivers/s390/net/qeth_tso.h
+++ b/drivers/s390/net/qeth_tso.h
@@ -64,7 +64,7 @@ static inline void
64qeth_tso_set_tcpip_header(struct qeth_card *card, struct sk_buff *skb) 64qeth_tso_set_tcpip_header(struct qeth_card *card, struct sk_buff *skb)
65{ 65{
66 struct iphdr *iph = ip_hdr(skb); 66 struct iphdr *iph = ip_hdr(skb);
67 struct ipv6hdr *ip6h = skb->nh.ipv6h; 67 struct ipv6hdr *ip6h = ipv6_hdr(skb);
68 struct tcphdr *tcph = skb->h.th; 68 struct tcphdr *tcph = skb->h.th;
69 69
70 tcph->check = 0; 70 tcph->check = 0;