aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-12-03 01:00:34 -0500
committerDavid S. Miller <davem@davemloft.net>2009-12-03 01:00:34 -0500
commite00484023ebe94dce03fdd1270edf3e191c2bc79 (patch)
tree6089a0237822b46ec908be7e7cb3bea2dd426b73 /drivers
parent3248e1682035eef6774c280cd7be19984feb78bb (diff)
parent1f5865e73fb18834f52bd6e1d27bce86ff372089 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/atl1e/atl1e_main.c36
-rw-r--r--drivers/net/bnx2.c1
2 files changed, 1 insertions, 36 deletions
diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c
index ad17e74e5662..08f8c0969e9b 100644
--- a/drivers/net/atl1e/atl1e_main.c
+++ b/drivers/net/atl1e/atl1e_main.c
@@ -1664,41 +1664,6 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,
1664 } 1664 }
1665 return 0; 1665 return 0;
1666 } 1666 }
1667
1668 if (offload_type & SKB_GSO_TCPV6) {
1669 real_len = (((unsigned char *)ipv6_hdr(skb) - skb->data)
1670 + ntohs(ipv6_hdr(skb)->payload_len));
1671 if (real_len < skb->len)
1672 pskb_trim(skb, real_len);
1673
1674 /* check payload == 0 byte ? */
1675 hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
1676 if (unlikely(skb->len == hdr_len)) {
1677 /* only xsum need */
1678 dev_warn(&pdev->dev,
1679 "IPV6 tso with zero data??\n");
1680 goto check_sum;
1681 } else {
1682 tcp_hdr(skb)->check = ~csum_ipv6_magic(
1683 &ipv6_hdr(skb)->saddr,
1684 &ipv6_hdr(skb)->daddr,
1685 0, IPPROTO_TCP, 0);
1686 tpd->word3 |= 1 << TPD_IP_VERSION_SHIFT;
1687 hdr_len >>= 1;
1688 tpd->word3 |= (hdr_len & TPD_V6_IPHLLO_MASK) <<
1689 TPD_V6_IPHLLO_SHIFT;
1690 tpd->word3 |= ((hdr_len >> 3) &
1691 TPD_V6_IPHLHI_MASK) <<
1692 TPD_V6_IPHLHI_SHIFT;
1693 tpd->word3 |= (tcp_hdrlen(skb) >> 2 &
1694 TPD_TCPHDRLEN_MASK) <<
1695 TPD_TCPHDRLEN_SHIFT;
1696 tpd->word3 |= ((skb_shinfo(skb)->gso_size) &
1697 TPD_MSS_MASK) << TPD_MSS_SHIFT;
1698 tpd->word3 |= 1 << TPD_SEGMENT_EN_SHIFT;
1699 }
1700 }
1701 return 0;
1702 } 1667 }
1703 1668
1704check_sum: 1669check_sum:
@@ -2287,7 +2252,6 @@ static int atl1e_init_netdev(struct net_device *netdev, struct pci_dev *pdev)
2287 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2252 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
2288 netdev->features |= NETIF_F_LLTX; 2253 netdev->features |= NETIF_F_LLTX;
2289 netdev->features |= NETIF_F_TSO; 2254 netdev->features |= NETIF_F_TSO;
2290 netdev->features |= NETIF_F_TSO6;
2291 2255
2292 return 0; 2256 return 0;
2293} 2257}
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index f47bf50602d9..4cae2a86e741 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -8316,6 +8316,7 @@ static pci_ers_result_t bnx2_io_slot_reset(struct pci_dev *pdev)
8316 } 8316 }
8317 pci_set_master(pdev); 8317 pci_set_master(pdev);
8318 pci_restore_state(pdev); 8318 pci_restore_state(pdev);
8319 pci_save_state(pdev);
8319 8320
8320 if (netif_running(dev)) { 8321 if (netif_running(dev)) {
8321 bnx2_set_power_state(bp, PCI_D0); 8322 bnx2_set_power_state(bp, PCI_D0);