Message ID | 20220414094225.4527-1-daniel.starke@siemens.com |
---|---|
State | New |
Headers | show |
Series | [01/20] tty: n_gsm: fix missing mux reset on config change at responder | expand |
On Thu, Apr 14, 2022 at 02:42:20AM -0700, D. Starke wrote: > From: Daniel Starke <daniel.starke@siemens.com> > > Currently the peer is not informed about the initial state of the modem > control lines after a new DLCI has been opened. > Fix this by sending the initial modem control line states after DLCI open. > > Fixes: e1eaea46bb40 ("tty: n_gsm line discipline") > Cc: stable@vger.kernel.org > Signed-off-by: Daniel Starke <daniel.starke@siemens.com> > --- > drivers/tty/n_gsm.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c > index f3fb66be8513..e9a7d9483c1f 100644 > --- a/drivers/tty/n_gsm.c > +++ b/drivers/tty/n_gsm.c > @@ -369,7 +369,11 @@ static const u8 gsm_fcs8[256] = { > #define INIT_FCS 0xFF > #define GOOD_FCS 0xCF > > +/* > + * Prototypes > + */ We know they are prototypes, no need to say it :) > static int gsmld_output(struct gsm_mux *gsm, u8 *data, int len); > +static int gsmtty_modem_update(struct gsm_dlci *dlci, u8 brk); > > /** > * gsm_fcs_add - update FCS > @@ -1479,6 +1483,8 @@ static void gsm_dlci_open(struct gsm_dlci *dlci) > pr_debug("DLCI %d goes open.\n", dlci->addr); > /* Register gsmtty driver,report gsmtty dev add uevent for user */ > tty_register_device(gsm_tty_driver, dlci->addr, NULL); > + if (dlci->addr) /* Send current modem state */ > + gsmtty_modem_update(dlci, 0); Please do not put comments at the end of a line like this. thanks, greg k-h
On Thu, Apr 14, 2022 at 02:42:24AM -0700, D. Starke wrote: > From: Daniel Starke <daniel.starke@siemens.com> > > gsm_carrier_raised() returns always 1 if the kernel module parameter > 'debug' has its second least significant bit set. This changes the behavior > of the module instead of just adding some debug output. > Remove this 'debug' gated early out to avoid debug settings from changing > the program flow. > > Fixes: e1eaea46bb40 ("tty: n_gsm line discipline") > Cc: stable@vger.kernel.org Why is this relevant for stable backporting? It's a debugging feature only, and you are changing how it previously worked :(
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c index fa92f727fdf8..3d28ecebd473 100644 --- a/drivers/tty/n_gsm.c +++ b/drivers/tty/n_gsm.c @@ -2373,7 +2373,7 @@ static int gsm_config(struct gsm_mux *gsm, struct gsm_config *c) * configuration */ - if (gsm->initiator && (need_close || need_restart)) { + if (need_close || need_restart) { int ret; ret = gsm_disconnect(gsm);