diff options
author | Andreas.Eversberg <jolly@eversberg.eu> | 2010-09-16 08:39:43 +0000 |
---|---|---|
committer | Andreas.Eversberg <jolly@eversberg.eu> | 2010-09-16 08:39:43 +0000 |
commit | 4b2db86031178bbe1f251155b4be521b0b0769e3 (patch) | |
tree | ff13d4485676357ff4b6394abce41cf17b93925a | |
parent | dece8977f438983f681feeeeb8a6f736859be98e (diff) |
[layer23] Added missing pointer reset during establishment of LAPDm connection
Dieter pointed out that the SABM message was resent incorrectly, because the
V(S) pointer was not reset to the location of the SAMB frame.
-rw-r--r-- | src/host/layer23/src/common/lapdm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/host/layer23/src/common/lapdm.c b/src/host/layer23/src/common/lapdm.c index ca8ad380..970da7bf 100644 --- a/src/host/layer23/src/common/lapdm.c +++ b/src/host/layer23/src/common/lapdm.c @@ -1652,6 +1652,8 @@ static int rslms_rx_rll_est_req(struct msgb *msg, struct lapdm_datalink *dl) /* Transmit-buffer carries exactly one segment */ memcpy(dl->tx_hist[0], msg->l2h, 3 + length); dl->tx_length[0] = 3 + length; + /* set Vs to 0, because it is used as index when resending SAMB */ + dl->V_send = 0; /* Set states */ dl->own_busy = dl->peer_busy = 0; @@ -1917,6 +1919,8 @@ static int rslms_rx_rll_res_req(struct msgb *msg, struct lapdm_datalink *dl) /* Transmit-buffer carries exactly one segment */ memcpy(dl->tx_hist[0], msg->l2h, 3); dl->tx_length[0] = 3; + /* set Vs to 0, because it is used as index when resending SAMB */ + dl->V_send = 0; /* Set states */ dl->own_busy = dl->peer_busy = 0; |