[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1456181596-11736-8-git-send-email-ak77@tnode.com>
Date: Mon, 22 Feb 2016 23:53:15 +0100
From: Andrej Krpic <ak77@...de.com>
To: xinhuix.pan@...el.com
Cc: linux-kernel@...r.kernel.org, jslaby@...e.com,
gregkh@...uxfoundation.org, Andrej Krpic <ak77@...de.com>
Subject: [PATCH 7/8] tty: n_gsm: properly format Modem Status Command message
Change format of Modem Status Command (MSC) message that is
sent to the one expected in the receive function gsm_control_modem
and specified in 3GPP TS 27.010 version 12.0.0 Release 12, 5.4.6.3.7.
Wrongly formatted MSC causes DLC to be marked as constipated. A bug
appears after format of transmitted control messages is fixed and
control messages start to be recognized.
Signed-off-by: Andrej Krpic <ak77@...de.com>
---
drivers/tty/n_gsm.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 8aa90e0..b0d9edd 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -2874,12 +2874,11 @@ static int gsmtty_modem_update(struct gsm_dlci *dlci, u8 brk)
if (brk)
len++;
- modembits[0] = len << 1 | EA; /* Data bytes */
- modembits[1] = dlci->addr << 2 | 3; /* DLCI, EA, 1 */
- modembits[2] = gsm_encode_modem(dlci) << 1 | EA;
+ modembits[0] = dlci->addr << 2 | 3; /* DLCI, EA, 1 */
+ modembits[1] = gsm_encode_modem(dlci) << 1 | EA;
if (brk)
- modembits[3] = brk << 4 | 2 | EA; /* Valid, EA */
- ctrl = gsm_control_send(dlci->gsm, CMD_MSC, modembits, len + 1);
+ modembits[2] = brk << 4 | 2 | EA; /* Valid, EA */
+ ctrl = gsm_control_send(dlci->gsm, CMD_MSC, modembits, len);
if (ctrl == NULL)
return -ENOMEM;
return gsm_control_wait(dlci->gsm, ctrl);
--
2.7.0
Powered by blists - more mailing lists