From: Linus Torvalds <torvalds@g5.osdl.org>
Date: Sun, 24 Sep 2006 17:15:13 +0000 (-0700)
Subject: Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik... 
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a319a2773a13bab56a0d0b3744ba8703324313b5;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* '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.
---

a319a2773a13bab56a0d0b3744ba8703324313b5
diff --cc drivers/net/hamachi.c
index 763373ae9666,b59bab9e9792..5c89ae78a519
--- a/drivers/net/hamachi.c
+++ b/drivers/net/hamachi.c
@@@ -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 */
  
diff --cc drivers/net/ixgb/ixgb_main.c
index 9405b44f3214,e36dee1dd333..2e0f4b950a90
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@@ -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;
  
diff --cc drivers/net/skge.c
index b3d6fa3d6df4,4b267b85fff2..9142d91355bc
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@@ -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:
diff --cc drivers/net/sky2.c
index 8e92566b587e,c4c51f1418f5..7eeefa2d6c89
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@@ -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: