--- /dev/null
+From stable-bounces@linux.kernel.org Thu Dec 7 15:37:55 2006
+Date: Fri, 8 Dec 2006 01:32:22 +0200
+From: Samuel Ortiz <samuel@sortiz.org>
+To: stable@kernel.org
+Message-ID: <20061207233222.GA4549@sortiz.org>
+Cc: "David S. Miller" <davem@davemloft.net>
+Subject: IrDA: Incorrect TTP header reservation
+
+From: Jeet Chaudhuri <jeetlinux@yahoo.co.in>
+
+We must reserve SAR + MAX_HEADER bytes for IrLMP to fit in.
+This fixes an oops reported (and fixed) by Jeet Chaudhuri, when max_sdu_size
+is greater than 0.
+
+Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+
+---
+ net/irda/irttp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- linux-2.6.18.5.orig/net/irda/irttp.c
++++ linux-2.6.18.5/net/irda/irttp.c
+@@ -1098,7 +1098,7 @@ int irttp_connect_request(struct tsap_cb
+ return -ENOMEM;
+
+ /* Reserve space for MUX_CONTROL and LAP header */
+- skb_reserve(tx_skb, TTP_MAX_HEADER);
++ skb_reserve(tx_skb, TTP_MAX_HEADER + TTP_SAR_HEADER);
+ } else {
+ tx_skb = userdata;
+ /*
+@@ -1346,7 +1346,7 @@ int irttp_connect_response(struct tsap_c
+ return -ENOMEM;
+
+ /* Reserve space for MUX_CONTROL and LAP header */
+- skb_reserve(tx_skb, TTP_MAX_HEADER);
++ skb_reserve(tx_skb, TTP_MAX_HEADER + TTP_SAR_HEADER);
+ } else {
+ tx_skb = userdata;
+ /*