mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-cbc.git
synced 2025-10-23 08:22:19 +00:00
Improve error handling when forwarding ECBE msg to CBSP
Change-Id: Ie411409b3af8f7dd6913b522ea9ed3b58736dc9f
This commit is contained in:
@@ -132,9 +132,16 @@ int peer_new_cbc_message(struct cbc_peer *peer, struct cbc_message *cbcmsg)
|
||||
switch (peer->proto) {
|
||||
case CBC_PEER_PROTO_CBSP:
|
||||
/* skip peers without any current CBSP connection */
|
||||
if (!peer->client.cbsp)
|
||||
return 0;
|
||||
cbsp = cbcmsg_to_cbsp(peer, cbcmsg);
|
||||
if (!peer->client.cbsp) {
|
||||
LOGP(DCBSP, LOGL_NOTICE, "[%s] Tx CBSP: not connected\n",
|
||||
peer->name);
|
||||
return -ENOTCONN;
|
||||
}
|
||||
if (!(cbsp = cbcmsg_to_cbsp(peer, cbcmsg))) {
|
||||
LOGP(DCBSP, LOGL_ERROR, "[%s] Tx CBSP: msg gen failed\n",
|
||||
peer->name);
|
||||
return -EINVAL;
|
||||
}
|
||||
cbsp_cbc_client_tx(peer->client.cbsp, cbsp);
|
||||
break;
|
||||
default:
|
||||
|
@@ -279,13 +279,17 @@ static void cbsp_append_cell_list(struct osmo_cbsp_cell_list *out, void *ctx,
|
||||
static void smscb_p_fsm_init(struct osmo_fsm_inst *fi, uint32_t event, void *data)
|
||||
{
|
||||
struct cbc_message_peer *mp = (struct cbc_message_peer *) fi->priv;
|
||||
int rc;
|
||||
|
||||
switch (event) {
|
||||
case SMSCB_E_CREATE:
|
||||
/* send it to peer */
|
||||
peer_new_cbc_message(mp->peer, mp->cbcmsg);
|
||||
/* wait for peers' response */
|
||||
osmo_fsm_inst_state_chg(fi, SMSCB_S_WAIT_WRITE_ACK, 10, T_WAIT_WRITE_ACK);
|
||||
rc = peer_new_cbc_message(mp->peer, mp->cbcmsg);
|
||||
if (rc == 0) {
|
||||
/* wait for peers' response */
|
||||
osmo_fsm_inst_state_chg(fi, SMSCB_S_WAIT_WRITE_ACK, 10,
|
||||
T_WAIT_WRITE_ACK);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
OSMO_ASSERT(0);
|
||||
|
Reference in New Issue
Block a user