2012/10/16 Pablo Neira Ayuso <pablo@gnumonks.org>
This was recently changed to perform robust error handling.

But thinking it's too much to close the signalling link on recoverable
errors coming from the signalling layer.

Would you give a try to the following patch? Thanks.

Hi Pablo,
thanks for the patch.

msgb_free(msg); causes signal 6, I tried the following and it works, but might cause a memory leak...

    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;
        //msgb_free(msg);
        return(ret);
    }

LM