diff options
| author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-01-23 12:22:16 -0500 |
|---|---|---|
| committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-01-24 13:27:32 -0500 |
| commit | 8a327f23e23fa509e6e3c2263ae1cc0a67dec387 (patch) | |
| tree | 119abf09e1ec9babaf78e6889187f9d54864b118 /net/core/dev.c | |
| parent | 5a9a8d1a99c617df82339456fbdd30d6ed3a856b (diff) | |
| parent | d315777b32a4696feb86f2a0c9e9f39c94683649 (diff) | |
Merge remote branch 'linus/master' into drm-intel-fixes
Merge with Linus to resolve conflicting fixes for the reusing the stale
HEAD value during intel_ring_wait().
Conflicts:
drivers/gpu/drm/i915/intel_ringbuffer.c
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 54277df0f735..7c6a46f80372 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -2001,7 +2001,7 @@ static bool can_checksum_protocol(unsigned long features, __be16 protocol) | |||
| 2001 | 2001 | ||
| 2002 | static int harmonize_features(struct sk_buff *skb, __be16 protocol, int features) | 2002 | static int harmonize_features(struct sk_buff *skb, __be16 protocol, int features) |
| 2003 | { | 2003 | { |
| 2004 | if (!can_checksum_protocol(protocol, features)) { | 2004 | if (!can_checksum_protocol(features, protocol)) { |
| 2005 | features &= ~NETIF_F_ALL_CSUM; | 2005 | features &= ~NETIF_F_ALL_CSUM; |
| 2006 | features &= ~NETIF_F_SG; | 2006 | features &= ~NETIF_F_SG; |
| 2007 | } else if (illegal_highdma(skb->dev, skb)) { | 2007 | } else if (illegal_highdma(skb->dev, skb)) { |
| @@ -2023,13 +2023,13 @@ int netif_skb_features(struct sk_buff *skb) | |||
| 2023 | return harmonize_features(skb, protocol, features); | 2023 | return harmonize_features(skb, protocol, features); |
| 2024 | } | 2024 | } |
| 2025 | 2025 | ||
| 2026 | features &= skb->dev->vlan_features; | 2026 | features &= (skb->dev->vlan_features | NETIF_F_HW_VLAN_TX); |
| 2027 | 2027 | ||
| 2028 | if (protocol != htons(ETH_P_8021Q)) { | 2028 | if (protocol != htons(ETH_P_8021Q)) { |
| 2029 | return harmonize_features(skb, protocol, features); | 2029 | return harmonize_features(skb, protocol, features); |
| 2030 | } else { | 2030 | } else { |
| 2031 | features &= NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | | 2031 | features &= NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | |
| 2032 | NETIF_F_GEN_CSUM; | 2032 | NETIF_F_GEN_CSUM | NETIF_F_HW_VLAN_TX; |
| 2033 | return harmonize_features(skb, protocol, features); | 2033 | return harmonize_features(skb, protocol, features); |
| 2034 | } | 2034 | } |
| 2035 | } | 2035 | } |
