tty: n_gsm: introduce macro for minimal unit size
n_gsm has a minimal protocol overhead of 7 bytes. The current code already checks whether the configured MRU/MTU size is at least one byte more than this. Introduce the macro MIN_MTU to make this value more obvious. Signed-off-by: Daniel Starke <daniel.starke@siemens.com> Link: https://lore.kernel.org/r/20221103091743.2119-1-daniel.starke@siemens.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d85bf51058
commit
7a1212475f
drivers/tty
|
@ -89,6 +89,7 @@ module_param(debug, int, 0600);
|
|||
*/
|
||||
#define MAX_MRU 1500
|
||||
#define MAX_MTU 1500
|
||||
#define MIN_MTU (PROT_OVERHEAD + 1)
|
||||
/* SOF, ADDR, CTRL, LEN1, LEN2, ..., FCS, EOF */
|
||||
#define PROT_OVERHEAD 7
|
||||
#define GSM_NET_TX_TIMEOUT (HZ*10)
|
||||
|
@ -2712,7 +2713,9 @@ static int gsm_config(struct gsm_mux *gsm, struct gsm_config *c)
|
|||
if ((c->adaption != 1 && c->adaption != 2) || c->k)
|
||||
return -EOPNOTSUPP;
|
||||
/* Check the MRU/MTU range looks sane */
|
||||
if (c->mru > MAX_MRU || c->mtu > MAX_MTU || c->mru < 8 || c->mtu < 8)
|
||||
if (c->mru < MIN_MTU || c->mtu < MIN_MTU)
|
||||
return -EINVAL;
|
||||
if (c->mru > MAX_MRU || c->mtu > MAX_MTU)
|
||||
return -EINVAL;
|
||||
if (c->n2 > 255)
|
||||
return -EINVAL;
|
||||
|
@ -3296,7 +3299,7 @@ static int gsm_create_network(struct gsm_dlci *dlci, struct gsm_netconfig *nc)
|
|||
return -ENOMEM;
|
||||
}
|
||||
net->mtu = dlci->gsm->mtu;
|
||||
net->min_mtu = 8;
|
||||
net->min_mtu = MIN_MTU;
|
||||
net->max_mtu = dlci->gsm->mtu;
|
||||
mux_net = netdev_priv(net);
|
||||
mux_net->dlci = dlci;
|
||||
|
|
Loading…
Reference in New Issue