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(a)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;
--
1.7.10.4
--LZvS9be/3tNcYl/X--