From: Zhenguo Zhao <Zhenguo.Zhao1@xxxxxxxxxx>
as initiator,it need to send SABM conmmand ,as requester,there is
no need to send the SABM control frame,it will cause redundant data.
Signed-off-by: Zhenguo Zhao <Zhenguo.Zhao1@xxxxxxxxxx>
---
drivers/tty/n_gsm.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 5fea02c..e66418b 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -3005,8 +3005,9 @@ static int gsmtty_open(struct tty_struct *tty, struct file *filp)
/* We could in theory open and close before we wait - eg if we get
a DM straight back. This is ok as that will have caused a hangup */
tty_port_set_initialized(port, 1);
- /* Start sending off SABM messages */
- gsm_dlci_begin_open(dlci);
+ /* Start sending off SABM messages for initiator */
+ if (gsm->initiator)
+ gsm_dlci_begin_open(dlci);
/* And wait for virtual carrier */
return tty_port_block_til_ready(port, tty, filp);
}