n_gsm.c: add tx_lock in gsm_send
All the call to gsm->output should be in the tx_lock, that could avoid potential race from MUX level. But we have no tx_lock in gsm_send. This patch is to add tx_lock in gsm_send. Signed-off-by: xiaojin <jin.xiao@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
5425e03f97
commit
f96f7f7f39
|
@ -573,6 +573,7 @@ static void gsm_send(struct gsm_mux *gsm, int addr, int cr, int control)
|
|||
int len;
|
||||
u8 cbuf[10];
|
||||
u8 ibuf[3];
|
||||
unsigned long flags;
|
||||
|
||||
switch (gsm->encoding) {
|
||||
case 0:
|
||||
|
@ -602,7 +603,9 @@ static void gsm_send(struct gsm_mux *gsm, int addr, int cr, int control)
|
|||
WARN_ON(1);
|
||||
return;
|
||||
}
|
||||
spin_lock_irqsave(&gsm->tx_lock, flags);
|
||||
gsm->output(gsm, cbuf, len);
|
||||
spin_unlock_irqrestore(&gsm->tx_lock, flags);
|
||||
gsm_print_packet("-->", addr, cr, control, NULL, 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue