diff options
author | Harald Welte <laforge@osmocom.org> | 2020-07-04 10:52:13 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2020-07-04 10:52:13 +0200 |
commit | bc1d7152c1fa8050b4d5a93c5ef03eb017e1a444 (patch) | |
tree | 97114160bb24634e0acd8ca13c1293686f6e3b70 /src/ctrl/control_if.c | |
parent | 8617d09ee375c66b3aa2f6fe26c5b744b156c740 (diff) |
lapd_core: After calling into L3, check if the state has changed
While processing an I-frame we may deliver its payload to L3. After
returning from L3 procesing, we run some additional code, assuming
the LAPD/DL state has not changed meanwhile.
However, if the application destroys the LAPD/DL meanwhile, our state
might be NULL again, and in this state we should not perform any further
action.
This is one of the cases where synchronous in-line dispatch across
various layers is hitting us. L3 should have an input queue, and only
start processing after all L2 work has completed and we're about to go
back to sleep in select().
Change-Id: I026b64503511002c13c0f4117648c366c48ecc62
Related: OS#1761
Closes: OS#4646
Diffstat (limited to 'src/ctrl/control_if.c')
0 files changed, 0 insertions, 0 deletions