summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/tg3.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-18 22:38:20 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-18 22:38:20 +0100
commitc592c761a36286ab83451daa37a21c8558ea99c0 (patch)
tree8abf57708fabf2a915320e9515b1ae2730ebf499 /drivers/net/ethernet/broadcom/tg3.c
parentMerge remote-tracking branch 'regulator/topic/drivers' into regulator-next (diff)
parentARM i.MX 3ds debugboard: register a dummy regulator for the smsc911x device (diff)
downloadlinux-c592c761a36286ab83451daa37a21c8558ea99c0.tar.xz
linux-c592c761a36286ab83451daa37a21c8558ea99c0.zip
Merge remote-tracking branch 'regulator/topic/stub' into regulator-next
Diffstat (limited to 'drivers/net/ethernet/broadcom/tg3.c')
-rw-r--r--drivers/net/ethernet/broadcom/tg3.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index d529af99157d..a1f2e0fed78b 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -6667,14 +6667,9 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)
iph = ip_hdr(skb);
tcp_opt_len = tcp_optlen(skb);
- if (skb_is_gso_v6(skb)) {
- hdr_len = skb_headlen(skb) - ETH_HLEN;
- } else {
- u32 ip_tcp_len;
-
- ip_tcp_len = ip_hdrlen(skb) + sizeof(struct tcphdr);
- hdr_len = ip_tcp_len + tcp_opt_len;
+ hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb) - ETH_HLEN;
+ if (!skb_is_gso_v6(skb)) {
iph->check = 0;
iph->tot_len = htons(mss + hdr_len);
}