[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1623812199-31866-1-git-send-email-zhenguo6858@gmail.com>
Date: Wed, 16 Jun 2021 10:56:39 +0800
From: Zhenguo Zhao <zhenguo6858@...il.com>
To: zhenguo6858@...il.com, gregkh@...uxfoundation.org,
jirislaby@...nel.org
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH] tty: n_gsm: Fix CR bit value when initiator=0
From: Zhenguo Zhao <zhenguo.zhao1@...soc.com>
When set initiator=0,switch to Responder,gsmld received dlci SABM/DISC
frame,CR bit should be 0 by calculation.
receive DLC0 SABM CMD:
[69.740263] c1 gsmld_receive: 00000000: f9 03 3f 01 1c f9
[69.893247] c1 gsm_queue cr:1
[69.897629] c1 <-- 0) C: SABM(P)
[69.907516] c1 gsm_queue cr:0
Signed-off-by: Zhenguo Zhao <zhenguo.zhao1@...soc.com>
---
drivers/tty/n_gsm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 5fea02c..becca2c 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -1779,7 +1779,7 @@ static void gsm_queue(struct gsm_mux *gsm)
switch (gsm->control) {
case SABM|PF:
- if (cr == 0)
+ if (cr == 1)
goto invalid;
if (dlci == NULL)
dlci = gsm_dlci_alloc(gsm, address);
@@ -1793,7 +1793,7 @@ static void gsm_queue(struct gsm_mux *gsm)
}
break;
case DISC|PF:
- if (cr == 0)
+ if (cr == 1)
goto invalid;
if (dlci == NULL || dlci->state == DLCI_CLOSED) {
gsm_response(gsm, address, DM);
--
1.9.1
Powered by blists - more mailing lists