[PATCH 5/8] tty: n_gsm: Delete gsm_disconnect when config requester

From: Zhenguo Zhao
Date: Fri Aug 20 2021 - 08:19:38 EST


From: Zhenguo Zhao <Zhenguo.Zhao1@xxxxxxxxxx>

When n_gsm config "initiator=0",when gsmld config ,as requester ,it
doesn't need to send CLD frame data or SABM frame.

Example,when tty dev receive "AT+CMUX=0",it will change ldisc
n_tty to n_gsm,during config requester,gsmld output "7e 01 ef c3 aa 7e",
initiator maybe not want to receive the frame data.

[ 154.666457] c1 Q> 0) R: UIH(F)
[ 154.669514] c1 C3
[ 154.671519] c1 gsmld_output: 00000000: 7e 01 ef c3 aa 7e
[ 155.014874] c1 Q> 0) R: UIH(F)
[ 155.018000] c1 C3
[ 155.020046] c1 gsmld_output: 00000000: 7e 01 ef c3 aa 7e
[ 155.364425] c1 Q> 0) R: UIH(F)
[ 155.367546] c1 C3
[ 155.369597] c1 gsmld_output: 00000000: 7e 01 ef c3 aa 7e

Signed-off-by: Zhenguo Zhao <Zhenguo.Zhao1@xxxxxxxxxx>
---
drivers/tty/n_gsm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index e3e1be3..9ded99a 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -2304,7 +2304,7 @@ static int gsm_config(struct gsm_mux *gsm, struct gsm_config *c)
* configuration
*/

- if (need_close || need_restart) {
+ if (gsm->initiator && (need_close || need_restart)) {
int ret;

ret = gsm_disconnect(gsm);
--
1.9.1