summaryrefslogtreecommitdiff
path: root/net/lapb/lapb_timer.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2021-01-07 20:51:39 +0300
committerTakashi Iwai <tiwai@suse.de>2021-01-07 20:51:39 +0300
commit7b62275507232f01f66d3e7d05c77bbd9009b726 (patch)
tree172dd8a7632877df2b623462bc871ab42e093bcc /net/lapb/lapb_timer.c
parent91bc156817a3c2007332b64b4f85c32aafbbbea6 (diff)
parent1f092d1c8819679d78a7d9c62a46d4939d217a9d (diff)
downloadlinux-7b62275507232f01f66d3e7d05c77bbd9009b726.tar.xz
Merge tag 'asoc-fix-v5.11-rc2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v5.11 A collection of mostly driver specific fixes, plus a maintainership update for TI and a fix for DAPM driver removal paths.
Diffstat (limited to 'net/lapb/lapb_timer.c')
-rw-r--r--net/lapb/lapb_timer.c11
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;
/*