aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty
diff options
context:
space:
mode:
authorEric Bénard <eric@eukrea.com>2011-03-09 13:24:49 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-03-09 18:43:39 -0500
commited43b47b29bce303f86e1bff69b6f9924f5afcc4 (patch)
treeb0cbbd2a75c33605c0d84cd442f0d577bc8e3616 /drivers/tty
parent323e84122ec6447a5a18de42b0dc7114f77e76c4 (diff)
n_gsm: fix UIH control byte : P bit should be 0
* the GSM 07.10 specification says in 5.4.3.1 that 'both stations shall set the P bit to 0' thanks to Alan Cox for finding this explanation in the spec * without this fix, on Telit & Sim.com modems, opening a new DLC randomly fails. Not setting PF bit of the control byte gives a reliable behaviour on these modems. Signed-off-by: Eric Bénard <eric@eukrea.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/n_gsm.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 0d90be48463d..176f63256b37 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -1250,8 +1250,7 @@ static void gsm_control_response(struct gsm_mux *gsm, unsigned int command,
1250 1250
1251static void gsm_control_transmit(struct gsm_mux *gsm, struct gsm_control *ctrl) 1251static void gsm_control_transmit(struct gsm_mux *gsm, struct gsm_control *ctrl)
1252{ 1252{
1253 struct gsm_msg *msg = gsm_data_alloc(gsm, 0, ctrl->len + 1, 1253 struct gsm_msg *msg = gsm_data_alloc(gsm, 0, ctrl->len + 1, gsm->ftype);
1254 gsm->ftype|PF);
1255 if (msg == NULL) 1254 if (msg == NULL)
1256 return; 1255 return;
1257 msg->data[0] = (ctrl->cmd << 1) | 2 | EA; /* command */ 1256 msg->data[0] = (ctrl->cmd << 1) | 2 | EA; /* command */