This patch relaxes the behaviour on error coming from the signalling layer. This is probably too strict for recoverable errors.
Thanks to Lennart M�ller mueller.lennart@googlemail.com for the report. --- src/input/ipaccess.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index d63e796..4f81c43 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -450,10 +450,13 @@ static int handle_ts1_read(struct osmo_fd *bfd) goto err_msg; } if (e1i_ts->line->ops->sign_link(msg) < 0) { + /* Don't close the signalling link if the upper layers report + * an error, that's too strict. + */ LOGP(DLINP, LOGL_ERROR, "Bad signalling message," "sign_link returned error\n"); ret = -EINVAL; - goto err; + msgb_free(msg); }
return 0;