• Daniel Starke's avatar
    tty: n_gsm: add ioctl for DLC specific parameter configuration · 4ca58966
    Daniel Starke authored
    Parameter negotiation has been introduced with
    commit 92f1f0c3 ("tty: n_gsm: add parameter negotiation support")
    
    However, means to set individual parameters per DLCI are not yet
    implemented. Furthermore, it is currently not possible to keep a DLCI half
    open until the user application sets the right parameters for it. This is
    required to allow a user application to set its specific parameters before
    the underlying link is established. Otherwise, the link is opened and
    re-established right afterwards if the user application sets incompatible
    parameters. This may be an unexpected behavior for the peer.
    
    Add parameter 'wait_config' to 'gsm_config' to support setups where the
    DLCI specific user application sets its specific parameters after open()
    and before the link gets fully established. Setting this to zero disables
    the user application specific DLCI configuration option.
    
    Add the ioctls 'GSMIOC_GETCONF_DLCI' and 'GSMIOC_SETCONF_DLCI' for the
    ldisc and virtual ttys. This gets/sets the DLCI specific parameters and may
    trigger a reconnect of the DLCI if incompatible values have been set. Only
    the parameters for the DLCI associated with the virtual tty can be set or
    retrieved if called on these.
    
    Add remark within the documentation to introduce the new ioctls.
    
    Link: https://lore.kernel.org/oe-kbuild-all/202302281856.S9Lz4gHB-lkp@intel.com/Reported-by: default avatarkernel test robot <lkp@intel.com>
    Signed-off-by: default avatarDaniel Starke <daniel.starke@siemens.com>
    Link: https://lore.kernel.org/r/20230315105354.6234-1-daniel.starke@siemens.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    4ca58966
n_gsm.rst 5.53 KB