提交 ba3af34e 编写于 作者: A Andreas Eversberg 提交者: David S. Miller

mISDN: Fixed missing spin lock on pipeline process

Need to protect the complete pipeline.
Signed-off-by: NAndreas Eversberg <andreas@eversberg.eu>
Signed-off-by: NKarsten Keil <keil@b1-systems.de>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 44e09589
......@@ -704,6 +704,8 @@ dsp_function(struct mISDNchannel *ch, struct sk_buff *skb)
break;
}
spin_lock_irqsave(&dsp_lock, flags);
/* decrypt if enabled */
if (dsp->bf_enable)
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 */
spin_lock_irqsave(&dsp_lock, flags);
if (dsp->pcm_slot_tx < 0 && dsp->pcm_slot_rx < 0) {
/* process data from card at cmx */
dsp_cmx_receive(dsp, skb);
}
spin_unlock_irqrestore(&dsp_lock, flags);
if (dsp->rx_disabled) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册