diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-04-16 04:04:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-20 05:20:30 -0400 |
commit | 5db8765a86a4cbaf45adaf8c231cf9a6ca2dcfaf (patch) | |
tree | bcbd94417893127e8ca8f765d184ac71d16659f9 | |
parent | 9a5120ddd18ff93c304c9ead0b5c4278d9b417e2 (diff) |
net: Fix GRO for multiple page fragments
This loop over fragments in napi_fraginfo_skb() was "interesting".
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/dev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 001a4c551d44..308a7d0c277f 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -2545,9 +2545,9 @@ struct sk_buff *napi_fraginfo_skb(struct napi_struct *napi, | |||
2545 | } | 2545 | } |
2546 | 2546 | ||
2547 | BUG_ON(info->nr_frags > MAX_SKB_FRAGS); | 2547 | BUG_ON(info->nr_frags > MAX_SKB_FRAGS); |
2548 | frag = &info->frags[info->nr_frags - 1]; | 2548 | frag = info->frags; |
2549 | 2549 | ||
2550 | for (i = skb_shinfo(skb)->nr_frags; i < info->nr_frags; i++) { | 2550 | for (i = 0; i < info->nr_frags; i++) { |
2551 | skb_fill_page_desc(skb, i, frag->page, frag->page_offset, | 2551 | skb_fill_page_desc(skb, i, frag->page, frag->page_offset, |
2552 | frag->size); | 2552 | frag->size); |
2553 | frag++; | 2553 | frag++; |