From: Alexey Dobriyan CC [M] drivers/net/e1000/e1000_main.o drivers/net/e1000/e1000_main.c: In function 'e1000_tso': drivers/net/e1000/e1000_main.c:2968: error: dereferencing pointer to incomplete type ... Cc: Auke Kok Signed-off-by: Andrew Morton --- drivers/net/e1000/e1000_main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff -puN drivers/net/e1000/e1000_main.c~2621-rc5-mm3-fix-e1000-compilation drivers/net/e1000/e1000_main.c --- a/drivers/net/e1000/e1000_main.c~2621-rc5-mm3-fix-e1000-compilation +++ a/drivers/net/e1000/e1000_main.c @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include #include #include @@ -2976,15 +2978,13 @@ e1000_tso(struct e1000_adapter *adapter, IPPROTO_TCP, 0); cmd_length = E1000_TXD_CMD_IP; - ipcse = skb->h.raw - skb->data - 1; + ipcse = skb_transport_offset(skb) - 1; } else if (skb_shinfo(skb)->gso_type == SKB_GSO_TCPV6) { - skb->nh.ipv6h->payload_len = 0; - skb->h.th->check = - ~csum_ipv6_magic(&skb->nh.ipv6h->saddr, - &skb->nh.ipv6h->daddr, - 0, - IPPROTO_TCP, - 0); + ipv6_hdr(skb)->payload_len = 0; + tcp_hdr(skb)->check = + ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, + &ipv6_hdr(skb)->daddr, + 0, IPPROTO_TCP, 0); ipcse = 0; } ipcss = skb_network_offset(skb); _