[l1ctl] add dedicated mode release request
authorHarald Welte <laforge@gnumonks.org>
Fri, 25 Jun 2010 16:00:16 +0000 (18:00 +0200)
committerHarald Welte <laforge@gnumonks.org>
Fri, 25 Jun 2010 16:00:16 +0000 (18:00 +0200)
include/l1a_l23_interface.h
src/target/firmware/layer1/l23_api.c

index ef03689..05c3a5d 100644 (file)
@@ -41,6 +41,7 @@
 #define L1CTL_DATA_CONF                16
 #define L1CTL_CCCH_MODE_REQ    17
 #define L1CTL_CCCH_MODE_CONF   18
+#define L1CTL_DM_REL_REQ       19
 
 enum ccch_mode {
        CCCH_MODE_NONE = 0,
index de298cf..16f8969 100644 (file)
@@ -202,6 +202,15 @@ static void l1ctl_rx_dm_est_req(struct msgb *msg)
        l1a_mftask_set(1 << chan_nr2mf_task(ul->chan_nr));
 }
 
+/* receive a L1CTL_DM_REL_REQ from L23 */
+static void l1ctl_rx_dm_rel_req(struct msgb *msg)
+{
+       struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->data;
+       struct l1ctl_info_ul *ul = (struct l1ctl_info_ul *) l1h->data;
+
+       l1a_mftask_set(0);
+}
+
 /* receive a L1CTL_RACH_REQ from L23 */
 static void l1ctl_rx_rach_req(struct msgb *msg)
 {
@@ -354,6 +363,9 @@ static void l1a_l23_rx_cb(uint8_t dlci, struct msgb *msg)
        case L1CTL_DM_EST_REQ:
                l1ctl_rx_dm_est_req(msg);
                break;
+       case L1CTL_DM_REL_REQ:
+               l1ctl_rx_dm_rel_req(msg);
+               break;
        case L1CTL_RACH_REQ:
                l1ctl_rx_rach_req(msg);
                break;