diff options
author | 2020-11-27 17:23:01 -0800 | |
---|---|---|
committer | 2020-11-27 17:23:02 -0800 | |
commit | 35c58418898b5e80eaa55f5ce861734302c6f157 (patch) | |
tree | d089feb486c6240cb6787e58884620fc85c7b72d /net/lapb/lapb_timer.c | |
parent | Merge branch 'mlxsw-update-adjacency-index-more-efficiently' (diff) | |
parent | net/x25: remove x25_kill_by_device() (diff) | |
download | wireguard-linux-35c58418898b5e80eaa55f5ce861734302c6f157.tar.xz wireguard-linux-35c58418898b5e80eaa55f5ce861734302c6f157.zip |
Merge branch 'net-x25-netdev-event-handling'
Martin Schiller says:
====================
net/x25: netdev event handling
====================
Link: https://lore.kernel.org/r/20201126063557.1283-1-ms@dev.tdt.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/lapb/lapb_timer.c')
-rw-r--r-- | net/lapb/lapb_timer.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/net/lapb/lapb_timer.c b/net/lapb/lapb_timer.c index 8f5b17001a07..baa247fe4ed0 100644 --- a/net/lapb/lapb_timer.c +++ b/net/lapb/lapb_timer.c @@ -85,11 +85,18 @@ static void lapb_t1timer_expiry(struct timer_list *t) switch (lapb->state) { /* - * If we are a DCE, keep going DM .. DM .. DM + * If we are a DCE, send DM up to N2 times, then switch to + * STATE_1 and send SABM(E). */ case LAPB_STATE_0: - if (lapb->mode & LAPB_DCE) + if (lapb->mode & LAPB_DCE && + lapb->n2count != lapb->n2) { + lapb->n2count++; lapb_send_control(lapb, LAPB_DM, LAPB_POLLOFF, LAPB_RESPONSE); + } else { + lapb->state = LAPB_STATE_1; + lapb_establish_data_link(lapb); + } break; /* |