Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Sun, 24 Sep 2006 17:15:13 +0000 (10:15 -0700)]
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (217 commits)
  net/ieee80211: fix more crypto-related build breakage
  [PATCH] Spidernet: add ethtool -S (show statistics)
  [NET] GT96100: Delete bitrotting ethernet driver
  [PATCH] mv643xx_eth: restrict to 32-bit PPC_MULTIPLATFORM
  [PATCH] Cirrus Logic ep93xx ethernet driver
  r8169: the MMIO region of the 8167 stands behin BAR#1
  e1000, ixgb: Remove pointless wrappers
  [PATCH] Remove powerpc specific parts of 3c509 driver
  [PATCH] s2io: Switch to pci_get_device
  [PATCH] gt96100: move to pci_get_device API
  [PATCH] ehea: bugfix for register access functions
  [PATCH] e1000 disable device on PCI error
  drivers/net/phy/fixed: #if 0 some incomplete code
  drivers/net: const-ify ethtool_ops declarations
  [PATCH] ethtool: allow const ethtool_ops
  [PATCH] sky2: big endian
  [PATCH] sky2: fiber support
  [PATCH] sky2: tx pause bug fix
  drivers/net: Trim trailing whitespace
  [PATCH] ehea: IBM eHEA Ethernet Device Driver
  ...

Manually resolved conflicts in drivers/net/ixgb/ixgb_main.c and
drivers/net/sky2.c related to CHECKSUM_HW/CHECKSUM_PARTIAL changes by
commit 84fa7933a33f806bbbaae6775e87459b1ec584c0 that just happened to be
next to unrelated changes in this update.

32 files changed:
1  2 
MAINTAINERS
drivers/net/3c59x.c
drivers/net/8139cp.c
drivers/net/acenic.c
drivers/net/arcnet/com20020-pci.c
drivers/net/bnx2.c
drivers/net/cassini.c
drivers/net/dl2k.c
drivers/net/e1000/e1000_main.c
drivers/net/forcedeth.c
drivers/net/gianfar.c
drivers/net/hamachi.c
drivers/net/ibm_emac/ibm_emac_core.c
drivers/net/ioc3-eth.c
drivers/net/irda/w83977af_ir.c
drivers/net/ixgb/ixgb_main.c
drivers/net/mv643xx_eth.c
drivers/net/myri10ge/myri10ge.c
drivers/net/ns83820.c
drivers/net/r8169.c
drivers/net/s2io.c
drivers/net/sk98lin/skge.c
drivers/net/skge.c
drivers/net/sky2.c
drivers/net/starfire.c
drivers/net/sungem.c
drivers/net/sunhme.c
drivers/net/tg3.c
drivers/net/typhoon.c
drivers/net/via-rhine.c
drivers/net/via-velocity.c
include/linux/netdevice.h

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1648,9 -1648,9 +1648,9 @@@ static int hamachi_rx(struct net_devic
                                                * could do the pseudo myself and return
                                                * CHECKSUM_UNNECESSARY
                                                */
 -                                              skb->ip_summed = CHECKSUM_HW;
 +                                              skb->ip_summed = CHECKSUM_COMPLETE;
                                        }
-                               }       
+                               }
                        }
  #endif  /* RX_CHECKSUM */
  
Simple merge
Simple merge
Simple merge
@@@ -1232,7 -1246,8 +1246,8 @@@ ixgb_tx_csum(struct ixgb_adapter *adapt
        unsigned int i;
        uint8_t css, cso;
  
 -      if(likely(skb->ip_summed == CHECKSUM_HW)) {
 +      if(likely(skb->ip_summed == CHECKSUM_PARTIAL)) {
+               struct ixgb_buffer *buffer_info;
                css = skb->h.raw - skb->data;
                cso = (skb->h.raw + skb->csum) - skb->data;
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -2639,13 -2628,12 +2628,12 @@@ static struct sk_buff *skge_rx_get(stru
        }
  
        skb_put(skb, len);
-       skb->dev = skge->netdev;
        if (skge->rx_csum) {
                skb->csum = csum;
 -              skb->ip_summed = CHECKSUM_HW;
 +              skb->ip_summed = CHECKSUM_COMPLETE;
        }
  
-       skb->protocol = eth_type_trans(skb, skge->netdev);
+       skb->protocol = eth_type_trans(skb, dev);
  
        return skb;
  error:
@@@ -1272,9 -1284,12 +1284,12 @@@ static int sky2_xmit_frame(struct sk_bu
  #endif
  
        /* Handle TCP checksum offload */
 -      if (skb->ip_summed == CHECKSUM_HW) {
 +      if (skb->ip_summed == CHECKSUM_PARTIAL) {
-               u16 hdr = skb->h.raw - skb->data;
-               u16 offset = hdr + skb->csum;
+               unsigned offset = skb->h.raw - skb->data;
+               u32 tcpsum;
+               tcpsum = offset << 16;          /* sum start */
+               tcpsum |= offset + skb->csum;   /* sum write */
  
                ctrl = CALSUM | WR_SUM | INIT_SUM | LOCK_SUM;
                if (skb->nh.iph->protocol == IPPROTO_UDP)
@@@ -2000,8 -1982,8 +1982,8 @@@ static int sky2_status_intr(struct sky2
  #endif
                case OP_RXCHKS:
                        skb = sky2->rx_ring[sky2->rx_next].skb;
 -                      skb->ip_summed = CHECKSUM_HW;
 +                      skb->ip_summed = CHECKSUM_COMPLETE;
-                       skb->csum = le16_to_cpu(status);
+                       skb->csum = status & 0xffff;
                        break;
  
                case OP_TXINDEXLE:
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge