[PATCH net-next v3 2/6] net/lapb: fix lapb_connect_request() for DCE
From: Martin Schiller
Date: Wed Nov 18 2020 - 09:00:11 EST
For a DTE interface we should change to state LAPB_STATE_1 and start
sending SABM(E). But for DCE interfaces, we simply should start the
timer t1.
Signed-off-by: Martin Schiller <ms@xxxxxxxxxx>
---
net/lapb/lapb_iface.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/net/lapb/lapb_iface.c b/net/lapb/lapb_iface.c
index 3c03f6512c5f..8dd7c420ae93 100644
--- a/net/lapb/lapb_iface.c
+++ b/net/lapb/lapb_iface.c
@@ -278,10 +278,14 @@ int lapb_connect_request(struct net_device *dev)
if (lapb->state == LAPB_STATE_3 || lapb->state == LAPB_STATE_4)
goto out_put;
- lapb_establish_data_link(lapb);
+ if (lapb->mode & LAPB_DCE) {
+ lapb_start_t1timer(lapb);
+ } else {
+ lapb_establish_data_link(lapb);
- lapb_dbg(0, "(%p) S0 -> S1\n", lapb->dev);
- lapb->state = LAPB_STATE_1;
+ lapb_dbg(0, "(%p) S0 -> S1\n", lapb->dev);
+ lapb->state = LAPB_STATE_1;
+ }
rc = LAPB_OK;
out_put:
--
2.20.1