add SMS CP timer TC1* to tear down lchan in case MS never responds to CP-DATA
diff --git a/openbsc/include/openbsc/gsm_04_11.h b/openbsc/include/openbsc/gsm_04_11.h
index 09740e0..e78d946 100644
--- a/openbsc/include/openbsc/gsm_04_11.h
+++ b/openbsc/include/openbsc/gsm_04_11.h
@@ -89,9 +89,11 @@
 };
 
 /* Chapter 10: Timers */
-#define GSM411_TMR_TR1M		40	/* 35 < x < 45 seconds */
-#define GSM411_TMR_TRAM		30	/* 25 < x < 35 seconds */
-#define GSM411_TMR_TR2M		15	/* 12 < x < 20 seconds */
+#define GSM411_TMR_TR1M		40, 0	/* 35 < x < 45 seconds */
+#define GSM411_TMR_TRAM		30, 0	/* 25 < x < 35 seconds */
+#define GSM411_TMR_TR2M		15, 0	/* 12 < x < 20 seconds */
+
+#define GSM411_TMR_TC1A		30, 0
 
 /* Chapter 8.2.1 */
 struct gsm411_rp_hdr {
diff --git a/openbsc/include/openbsc/transaction.h b/openbsc/include/openbsc/transaction.h
index 5678c83..466e88a 100644
--- a/openbsc/include/openbsc/transaction.h
+++ b/openbsc/include/openbsc/transaction.h
@@ -41,9 +41,10 @@
 		struct {
 			int is_mt;	/* is this a MO (0) or MT (1) transfer */
 			enum gsm411_cp_state cp_state;
+			struct timer_list cp_timer;
+
 			enum gsm411_rp_state rp_state;
 
-			struct timer_list timer;
 			struct gsm_sms *sms;
 		} sms;
 	};