diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-10-17 11:22:50 +0000 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-10-17 11:22:50 +0000 |
commit | 8eb41582d2106eccc7717047d1184481f5a1b3a6 (patch) | |
tree | 12257bbe39b5c8ae6918198fde682ed0aacd8e00 /drivers/net/ppp_generic.c | |
parent | 127d4eb97b7bebc15fd692603263e75c220e24f9 (diff) | |
parent | 1cb17e2dbd09436069733500ea48e0c9b1f0a1cc (diff) |
Merge branch 'ep93xx/board' into next/board
Diffstat (limited to 'drivers/net/ppp_generic.c')
-rw-r--r-- | drivers/net/ppp_generic.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c index 10e5d985afa..edfa15d2e79 100644 --- a/drivers/net/ppp_generic.c +++ b/drivers/net/ppp_generic.c @@ -1465,7 +1465,12 @@ static int ppp_mp_explode(struct ppp *ppp, struct sk_buff *skb) continue; } - mtu = pch->chan->mtu - hdrlen; + /* + * hdrlen includes the 2-byte PPP protocol field, but the + * MTU counts only the payload excluding the protocol field. + * (RFC1661 Section 2) + */ + mtu = pch->chan->mtu - (hdrlen - 2); if (mtu < 4) mtu = 4; if (flen > mtu) |