mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-10-23 08:12:01 +00:00
Compare commits
8 Commits
on-waves/0
...
on-waves/0
Author | SHA1 | Date | |
---|---|---|---|
|
2727909dba | ||
|
ad9856ec15 | ||
|
9d53a8ad2a | ||
|
058956e8ee | ||
|
a34bb9167f | ||
|
b8ac7ffd7c | ||
|
b13cf829da | ||
|
fdc64f6806 |
@@ -1,7 +1,7 @@
|
||||
dnl Process this file with autoconf to produce a configure script
|
||||
AC_INIT
|
||||
|
||||
AM_INIT_AUTOMAKE(openbsc, 0.3onwaves)
|
||||
AM_INIT_AUTOMAKE(openbsc, 0.3.4onwaves)
|
||||
|
||||
dnl kernel style compile messages
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
@@ -641,6 +641,7 @@ static int ipaccess_a_fd_cb(struct bsc_fd *bfd, unsigned int what)
|
||||
else if (hh->proto == IPAC_PROTO_SCCP)
|
||||
sccp_system_incoming(msg);
|
||||
|
||||
msgb_free(msg);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -1260,7 +1260,7 @@ void bts_unblock_queue(struct bss_sccp_connection_data *data)
|
||||
|
||||
/* now queue them again to send RSL establish and such */
|
||||
while (!llist_empty(&head)) {
|
||||
msg = msgb_dequeue(&data->gsm_queue);
|
||||
msg = msgb_dequeue(&head);
|
||||
bts_queue_send(msg, (int) msg->smsh);
|
||||
}
|
||||
}
|
||||
|
@@ -242,6 +242,14 @@ static int ipaccess_rcvmsg(struct e1inp_line *line, struct msgb *msg,
|
||||
trx->rsl_link = e1inp_sign_link_create(e1i_ts,
|
||||
E1INP_SIGN_RSL, trx,
|
||||
trx->rsl_tei, 0);
|
||||
|
||||
if (newbfd->fd >= 0) {
|
||||
LOGP(DINP, LOGL_ERROR, "BTS is still registered. Closing old connection.\n");
|
||||
bsc_unregister_fd(newbfd);
|
||||
close(newbfd->fd);
|
||||
newbfd->fd = -1;
|
||||
}
|
||||
|
||||
/* get rid of our old temporary bfd */
|
||||
memcpy(newbfd, bfd, sizeof(*newbfd));
|
||||
newbfd->priv_nr = 2+trx_id;
|
||||
@@ -484,6 +492,7 @@ static int listen_fd_cb(struct bsc_fd *listen_bfd, unsigned int what)
|
||||
{
|
||||
int ret;
|
||||
int idx = 0;
|
||||
int i;
|
||||
struct e1inp_line *line;
|
||||
struct e1inp_ts *e1i_ts;
|
||||
struct bsc_fd *bfd;
|
||||
@@ -510,6 +519,10 @@ static int listen_fd_cb(struct bsc_fd *listen_bfd, unsigned int what)
|
||||
/* create virrtual E1 timeslots for signalling */
|
||||
e1inp_ts_config(&line->ts[1-1], line, E1INP_TS_TYPE_SIGN);
|
||||
|
||||
/* initialize the fds */
|
||||
for (i = 0; i < ARRAY_SIZE(line->ts); ++i)
|
||||
line->ts[i].driver.ipaccess.fd.fd = -1;
|
||||
|
||||
e1i_ts = &line->ts[idx];
|
||||
|
||||
bfd = &e1i_ts->driver.ipaccess.fd;
|
||||
|
@@ -148,6 +148,7 @@ static int ipaccess_msc_cb(struct bsc_fd *bfd, unsigned int what)
|
||||
else if (hh->proto == IPAC_PROTO_SCCP)
|
||||
forward_sccp_to_bts(msg);
|
||||
|
||||
msgb_free(msg);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -203,6 +204,7 @@ static int ipaccess_bsc_cb(struct bsc_fd *bfd, unsigned int what)
|
||||
/* FIXME: Currently no PONG is sent to the BSC */
|
||||
/* FIXME: Currently no ID ACK is sent to the BSC */
|
||||
forward_sccp_to_msc(msg);
|
||||
msgb_free(msg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user