From: Steven Ihde A typo in ppp_generic.c broke handling of CCP_CONFACK messages and thus PPP compression.... this one-liner fixes it (worked for me, anyway). drivers/net/ppp_generic.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/net/ppp_generic.c~ppp-compression-fix drivers/net/ppp_generic.c --- 25/drivers/net/ppp_generic.c~ppp-compression-fix 2003-08-10 01:32:01.000000000 -0700 +++ 25-akpm/drivers/net/ppp_generic.c 2003-08-10 01:32:01.000000000 -0700 @@ -2073,7 +2073,7 @@ ppp_ccp_peek(struct ppp *ppp, struct sk_ case CCP_CONFACK: if ((ppp->flags & (SC_CCP_OPEN | SC_CCP_UP)) != SC_CCP_OPEN) break; - if (!pskb_may_pull(skb, len = CCP_LENGTH(dp)) + 2) + if (!pskb_may_pull(skb, (len = CCP_LENGTH(dp)) + 2)) return; /* too short */ dp += CCP_HDRLEN; len -= CCP_HDRLEN; _