/[linux-patches]/genpatches-2.6/trunk/2.6.14/1428_15.4_ppp-rx-csum.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.14/1428_15.4_ppp-rx-csum.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (show annotations) (download) (as text)
Tue Mar 14 13:34:17 2006 UTC (14 years, 8 months ago) by johnm
File MIME type: text/x-diff
File size: 1506 byte(s)
2.6.14-11, rebase against local tree
1 Re-diffed for 2.6.14.7 by Kerin Millar <kerframil@gmail.com>:
2
3 From stable-bounces@linux.kernel.org Sun Feb 5 21:00:48 2006
4 Date: Sun, 05 Feb 2006 20:27:05 -0800 (PST)
5 From: "David S. Miller" <davem@davemloft.net>
6 To: stable@kernel.org
7 Cc:
8 Subject: [PPP]: Fixed hardware RX checksum handling
9
10 From: Herbert Xu <herbert@gondor.apana.org.au>
11
12 When we pull the PPP protocol off the skb, we forgot to update the
13 hardware RX checksum. This may lead to messages such as
14
15 dsl0: hw csum failure.
16
17 Similarly, we need to clear the hardware checksum flag when we use
18 the existing packet to store the decompressed result.
19
20 Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
21 Signed-off-by: David S. Miller <davem@davemloft.net>
22 Signed-off-by: Chris Wright <chrisw@sous-sol.org>
23 ---
24
25 --- linux-2.6.14.7.orig/drivers/net/ppp_generic.c 2005-10-27 19:02:08.000000000 -0500
26 +++ linux-2.6.14.7/drivers/net/ppp_generic.c 2006-02-06 21:49:54.000000000 -0500
27 @@ -1573,6 +1573,8 @@ ppp_receive_nonmp_frame(struct ppp *ppp,
28 }
29 else if (!pskb_may_pull(skb, skb->len))
30 goto err;
31 + else
32 + skb->ip_summed = CHECKSUM_NONE;
33
34 len = slhc_uncompress(ppp->vj, skb->data + 2, skb->len - 2);
35 if (len <= 0) {
36 @@ -1653,6 +1655,7 @@ ppp_receive_nonmp_frame(struct ppp *ppp,
37 kfree_skb(skb);
38 } else {
39 skb_pull(skb, 2); /* chop off protocol */
40 + skb_postpull_rcsum(skb, skb->data - 2, 2);
41 skb->dev = ppp->dev;
42 skb->protocol = htons(npindex_to_ethertype[npi]);
43 skb->mac.raw = skb->data;

  ViewVC Help
Powered by ViewVC 1.1.20