This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/6700
host/trxcon: handle L1CTL_RESET_REQ inside l1ctl.c
Change-Id: Ie5930dec800885784fb38ce6188c9c969cd2ad4e
---
M src/host/trxcon/l1ctl.c
M src/host/trxcon/trxcon.c
M src/host/trxcon/trxcon.h
3 files changed, 20 insertions(+), 13 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/00/6700/1
diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c
index 4abec77..c01d372 100644
--- a/src/host/trxcon/l1ctl.c
+++ b/src/host/trxcon/l1ctl.c
@@ -245,8 +245,24 @@
LOGP(DL1C, LOGL_DEBUG, "Recv Reset Req (%u)\n", res->type);
- osmo_fsm_inst_dispatch(trxcon_fsm,
- L1CTL_EVENT_RESET_REQ, res);
+ switch (res->type) {
+ case L1CTL_RES_T_FULL:
+ /* TODO: implement trx_if_reset() */
+ trx_if_flush_ctrl(l1l->trx);
+ trx_if_cmd_poweroff(l1l->trx);
+ trx_if_cmd_echo(l1l->trx);
+
+ /* Fall through */
+ case L1CTL_RES_T_SCHED:
+ sched_trx_reset(l1l->trx);
+ break;
+ default:
+ LOGP(DL1C, LOGL_ERROR, "Unknown L1CTL_RESET_REQ type\n");
+ goto exit;
+ }
+
+ /* Confirm */
+ rc = l1ctl_tx_reset_conf(l1l, res->type);
exit:
msgb_free(msg);
diff --git a/src/host/trxcon/trxcon.c b/src/host/trxcon/trxcon.c
index 9bc98e5..a87626f 100644
--- a/src/host/trxcon/trxcon.c
+++ b/src/host/trxcon/trxcon.c
@@ -89,18 +89,10 @@
osmo_fsm_inst_state_chg(trxcon_fsm, TRXCON_STATE_IDLE, 0, 0);
if (app_data.trx->fsm->state != TRX_STATE_OFFLINE) {
+ /* TODO: implement trx_if_reset() */
trx_if_flush_ctrl(app_data.trx);
trx_if_cmd_poweroff(app_data.trx);
}
- break;
- case L1CTL_EVENT_RESET_REQ:
- trx_if_cmd_poweroff(app_data.trx);
- trx_if_cmd_echo(app_data.trx);
- sched_trx_reset(app_data.trx);
- break;
- case TRX_EVENT_RESET_IND:
- /* TODO: send proper reset type */
- l1ctl_tx_reset_conf(app_data.l1l, L1CTL_RES_T_BOOT);
break;
case SCH_EVENT_DATA:
l1ctl_tx_data_ind(app_data.l1l, (struct l1ctl_info_dl *) data);
@@ -108,6 +100,7 @@
case TRX_EVENT_OFFLINE:
case SCH_EVENT_CLCK_IND:
case SCH_EVENT_CLCK_LOSS:
+ case TRX_EVENT_RESET_IND:
/* TODO: notify L2 & L3 about that */
break;
default:
@@ -125,7 +118,6 @@
[TRXCON_STATE_MANAGED] = {
.in_event_mask = (
GEN_MASK(L1CTL_EVENT_DISCONNECT) |
- GEN_MASK(L1CTL_EVENT_RESET_REQ) |
GEN_MASK(TRX_EVENT_RESET_IND) |
GEN_MASK(TRX_EVENT_RSP_ERROR) |
GEN_MASK(TRX_EVENT_OFFLINE) |
diff --git a/src/host/trxcon/trxcon.h b/src/host/trxcon/trxcon.h
index 7b3a232..6452f80 100644
--- a/src/host/trxcon/trxcon.h
+++ b/src/host/trxcon/trxcon.h
@@ -11,7 +11,6 @@
/* L1CTL specific events */
L1CTL_EVENT_CONNECT,
L1CTL_EVENT_DISCONNECT,
- L1CTL_EVENT_RESET_REQ,
/* TRX specific events */
TRX_EVENT_RESET_IND,
--
To view, visit https://gerrit.osmocom.org/6700
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie5930dec800885784fb38ce6188c9c969cd2ad4e
Gerrit-PatchSet: 1
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>