tty/n_gsm.c: get gsm->num after gsm_activate_mux
gsm->num is the index of gsm_mux[], it's invalid before calling gsm_activate_mux. Signed-off-by: xinhui.pan <xinhuiX.pan@intel.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c2b703b807
commit
850e93eb29
|
@ -2230,8 +2230,7 @@ static int gsmld_output(struct gsm_mux *gsm, u8 *data, int len)
|
||||||
|
|
||||||
static int gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm)
|
static int gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm)
|
||||||
{
|
{
|
||||||
int ret, i;
|
int ret, i, base;
|
||||||
int base = gsm->num << 6; /* Base for this MUX */
|
|
||||||
|
|
||||||
gsm->tty = tty_kref_get(tty);
|
gsm->tty = tty_kref_get(tty);
|
||||||
gsm->output = gsmld_output;
|
gsm->output = gsmld_output;
|
||||||
|
@ -2241,6 +2240,7 @@ static int gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm)
|
||||||
else {
|
else {
|
||||||
/* Don't register device 0 - this is the control channel and not
|
/* Don't register device 0 - this is the control channel and not
|
||||||
a usable tty interface */
|
a usable tty interface */
|
||||||
|
base = gsm->num << 6; /* Base for this MUX */
|
||||||
for (i = 1; i < NUM_DLCI; i++)
|
for (i = 1; i < NUM_DLCI; i++)
|
||||||
tty_register_device(gsm_tty_driver, base + i, NULL);
|
tty_register_device(gsm_tty_driver, base + i, NULL);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue