]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/net/pasemi_mac.c
[SK_BUFF]: Introduce skb_network_header()
[mirror_ubuntu-bionic-kernel.git] / drivers / net / pasemi_mac.c
index 3f4213f3d5de5425cc3e7de55f73317ffc842557..82218720bc3ea599dec3502cf29bdd734486f575 100644 (file)
@@ -729,16 +729,18 @@ static int pasemi_mac_start_tx(struct sk_buff *skb, struct net_device *dev)
        dflags = XCT_MACTX_O | XCT_MACTX_ST | XCT_MACTX_SS | XCT_MACTX_CRC_PAD;
 
        if (skb->ip_summed == CHECKSUM_PARTIAL) {
+               const unsigned char *nh = skb_network_header(skb);
+
                switch (skb->nh.iph->protocol) {
                case IPPROTO_TCP:
                        dflags |= XCT_MACTX_CSUM_TCP;
                        dflags |= XCT_MACTX_IPH((skb->h.raw - skb->nh.raw) >> 2);
-                       dflags |= XCT_MACTX_IPO(skb->nh.raw - skb->data);
+                       dflags |= XCT_MACTX_IPO(nh - skb->data);
                        break;
                case IPPROTO_UDP:
                        dflags |= XCT_MACTX_CSUM_UDP;
                        dflags |= XCT_MACTX_IPH((skb->h.raw - skb->nh.raw) >> 2);
-                       dflags |= XCT_MACTX_IPO(skb->nh.raw - skb->data);
+                       dflags |= XCT_MACTX_IPO(nh - skb->data);
                        break;
                }
        }