diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-03-26 18:15:06 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-03-26 18:15:57 +0100 |
commit | d0ed9218bc79a25b46023a6cc57aedcda3fc9152 (patch) | |
tree | c8a9609da0fff4967574b1d7af375d58a65f4788 /src/gsm/lapd_core.c | |
parent | e4c50d5a43f129aa4bdfaf62a7238c4db671974b (diff) | |
parent | 3dc4e16786d1e5723e76ad7c70ad54134957f9e5 (diff) |
Merge remote-tracking branch 'daniel/lapdm-desync'
This should fix long delays when sending a long SMS on an encrypted
channel. It is the most minimal change to the polling mode. One
option we discussed internally is to queue a higher level representation
and generate the actual LAPDm frames later.
Diffstat (limited to 'src/gsm/lapd_core.c')
-rw-r--r-- | src/gsm/lapd_core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index ef1d22a7..8c5fe9c6 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -1607,6 +1607,12 @@ static int lapd_rx_i(struct msgb *msg, struct lapd_msg_ctx *lctx) if (!dl->own_busy) { /* NOTE: V(R) is already set above */ rc = lapd_send_i(lctx, __LINE__); + + /* if update_pending_iframe returns 0 it updated + * the lapd header of an iframe in the tx queue */ + if (rc && dl->update_pending_frames) + rc = dl->update_pending_frames(lctx); + if (rc) { LOGP(DLLAPD, LOGL_INFO, "we are not busy and " "have no pending data, send RR\n"); |