• D
    tty: n_gsm: fix tty registration before control channel open · 01aecd91
    Daniel Starke 提交于
    The current implementation registers/deregisters the user ttys at mux
    attach/detach. That means that the user devices are available before any
    control channel is open. However, user channel initialization requires an
    open control channel. Furthermore, the user is not informed if the mux
    restarts due to configuration changes.
    Put the registration/deregistration procedure into separate function to
    improve readability.
    Move registration to mux activation and deregistration to mux cleanup to
    keep the user devices only open as long as a control channel exists. The
    user will be informed via the device driver if the mux was reconfigured in
    a way that required a mux re-activation.
    This makes it necessary to add T2 initialization to gsmld_open() for the
    ldisc open code path (not the reconfiguration code path) to avoid deletion
    of an uninitialized T2 at mux cleanup.
    
    Fixes: d50f6dca ("tty: n_gsm: expose gsmtty device nodes at ldisc open time")
    Signed-off-by: NDaniel Starke <daniel.starke@siemens.com>
    Link: https://lore.kernel.org/r/20220701061652.39604-2-daniel.starke@siemens.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    01aecd91
n_gsm.c 85.6 KB