diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 12:26:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 12:26:46 -0400 |
commit | 15c54033964a943de7b0763efd3bd0ede7326395 (patch) | |
tree | 840b292612d1b5396d5bab5bde537a9013db3ceb /drivers/net/sunhme.c | |
parent | ad5da3cf39a5b11a198929be1f2644e17ecd767e (diff) | |
parent | 912a41a4ab935ce8c4308428ec13fc7f8b1f18f4 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
[IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
[IPV4]: Add multipath cached to feature-removal-schedule.txt
[WIRELESS] cfg80211: Clarify locking comment.
[WIRELESS] cfg80211: Fix locking in wiphy_new.
[WEXT] net_device: Don't include wext bits if not required.
[WEXT]: Misc code cleanups.
[WEXT]: Reduce inline abuse.
[WEXT]: Move EXPORT_SYMBOL statements where they belong.
[WEXT]: Cleanup early ioctl call path.
[WEXT]: Remove options.
[WEXT]: Remove dead debug code.
[WEXT]: Clean up how wext is called.
[WEXT]: Move to net/wireless
[AFS]: Eliminate cmpxchg() usage in vlocation code.
[RXRPC]: Fix pointers passed to bitops.
[RXRPC]: Remove bogus atomic_* overrides.
[AFS]: Fix u64 printing in debug logging.
[AFS]: Add "directory write" support.
[AFS]: Implement the CB.InitCallBackState3 operation.
...
Diffstat (limited to 'drivers/net/sunhme.c')
-rw-r--r-- | drivers/net/sunhme.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index 192bbc91c731..5304d7b94e5e 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c | |||
@@ -2058,11 +2058,10 @@ static void happy_meal_rx(struct happy_meal *hp, struct net_device *dev) | |||
2058 | goto drop_it; | 2058 | goto drop_it; |
2059 | } | 2059 | } |
2060 | 2060 | ||
2061 | copy_skb->dev = dev; | ||
2062 | skb_reserve(copy_skb, 2); | 2061 | skb_reserve(copy_skb, 2); |
2063 | skb_put(copy_skb, len); | 2062 | skb_put(copy_skb, len); |
2064 | hme_dma_sync_for_cpu(hp, dma_addr, len, DMA_FROMDEVICE); | 2063 | hme_dma_sync_for_cpu(hp, dma_addr, len, DMA_FROMDEVICE); |
2065 | memcpy(copy_skb->data, skb->data, len); | 2064 | skb_copy_from_linear_data(skb, copy_skb->data, len); |
2066 | hme_dma_sync_for_device(hp, dma_addr, len, DMA_FROMDEVICE); | 2065 | hme_dma_sync_for_device(hp, dma_addr, len, DMA_FROMDEVICE); |
2067 | 2066 | ||
2068 | /* Reuse original ring buffer. */ | 2067 | /* Reuse original ring buffer. */ |
@@ -2270,10 +2269,8 @@ static int happy_meal_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
2270 | 2269 | ||
2271 | tx_flags = TXFLAG_OWN; | 2270 | tx_flags = TXFLAG_OWN; |
2272 | if (skb->ip_summed == CHECKSUM_PARTIAL) { | 2271 | if (skb->ip_summed == CHECKSUM_PARTIAL) { |
2273 | u32 csum_start_off, csum_stuff_off; | 2272 | const u32 csum_start_off = skb_transport_offset(skb); |
2274 | 2273 | const u32 csum_stuff_off = csum_start_off + skb->csum_offset; | |
2275 | csum_start_off = (u32) (skb->h.raw - skb->data); | ||
2276 | csum_stuff_off = csum_start_off + skb->csum_offset; | ||
2277 | 2274 | ||
2278 | tx_flags = (TXFLAG_OWN | TXFLAG_CSENABLE | | 2275 | tx_flags = (TXFLAG_OWN | TXFLAG_CSENABLE | |
2279 | ((csum_start_off << 14) & TXFLAG_CSBUFBEGIN) | | 2276 | ((csum_start_off << 14) & TXFLAG_CSBUFBEGIN) | |