mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-16 05:50:19 +00:00
mISDN: Fixed missing spin lock on pipeline process
Need to protect the complete pipeline. Signed-off-by: Andreas Eversberg <andreas@eversberg.eu> Signed-off-by: Karsten Keil <keil@b1-systems.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
44e095897d
commit
ba3af34ec9
@ -704,6 +704,8 @@ dsp_function(struct mISDNchannel *ch, struct sk_buff *skb)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spin_lock_irqsave(&dsp_lock, flags);
|
||||||
|
|
||||||
/* decrypt if enabled */
|
/* decrypt if enabled */
|
||||||
if (dsp->bf_enable)
|
if (dsp->bf_enable)
|
||||||
dsp_bf_decrypt(dsp, skb->data, skb->len);
|
dsp_bf_decrypt(dsp, skb->data, skb->len);
|
||||||
@ -741,11 +743,11 @@ dsp_function(struct mISDNchannel *ch, struct sk_buff *skb)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* we need to process receive data if software */
|
/* we need to process receive data if software */
|
||||||
spin_lock_irqsave(&dsp_lock, flags);
|
|
||||||
if (dsp->pcm_slot_tx < 0 && dsp->pcm_slot_rx < 0) {
|
if (dsp->pcm_slot_tx < 0 && dsp->pcm_slot_rx < 0) {
|
||||||
/* process data from card at cmx */
|
/* process data from card at cmx */
|
||||||
dsp_cmx_receive(dsp, skb);
|
dsp_cmx_receive(dsp, skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_unlock_irqrestore(&dsp_lock, flags);
|
spin_unlock_irqrestore(&dsp_lock, flags);
|
||||||
|
|
||||||
if (dsp->rx_disabled) {
|
if (dsp->rx_disabled) {
|
||||||
|
Loading…
Reference in New Issue
Block a user