libosmocore/lapd: Fixed handling of sequence errors at lapd_core.c
commit506a3443ba52edf988fe2a0a54861738b777756e
authorAndreas Eversberg <jolly@eversberg.eu>
Sun, 1 Jan 2012 15:42:45 +0000 (1 16:42 +0100)
committerAndreas Eversberg <jolly@eversberg.eu>
Mon, 2 Jan 2012 01:22:30 +0000 (2 02:22 +0100)
treeb615cc52c2369120f516518aebd56e5d7d94a32f
parentc2b823faf07bc5614feadb7aecf49ee84d43d17e
libosmocore/lapd: Fixed handling of sequence errors at lapd_core.c

If a sequence error is received, the N(R) variable must still be used to
acknowledge previously transmitted frames.

If there are two subsequent sequence errors received, ignore it. (Ignore
every second subsequent error.) This happens if our reply with the REJ is
too slow, so the remote gets a T200 timeout and sends another frame with
a sequence error. Test showed that replying with two subsequent REJ
messages could the remote L2 process to abort. Replying too slow shouldn't
happen, but may happen over serial link between BB and LAPD.
src/shared/libosmocore/src/gsm/lapd_core.c