From 40aead4c2083b3e05c0e8d1050e783574936df6f Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Fri, 22 May 2009 11:04:47 +0000 Subject: [PATCH] --- yaml --- r: 150467 b: refs/heads/master c: ba3af34ec9866dddac36c15947f867eb8e889bbc h: refs/heads/master i: 150465: 8976228227099a35804828bbe76bbd17bfb47745 150463: 695dc2c7dbd405f12be0feecd8b27eba2706a22d v: v3 --- [refs] | 2 +- trunk/drivers/isdn/mISDN/dsp_core.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 942253c51fe9..fe855dbf7964 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 44e095897d745a03d71611fd318f26d8b12a4771 +refs/heads/master: ba3af34ec9866dddac36c15947f867eb8e889bbc diff --git a/trunk/drivers/isdn/mISDN/dsp_core.c b/trunk/drivers/isdn/mISDN/dsp_core.c index 1c49368e0a90..621ea9bc7c25 100644 --- a/trunk/drivers/isdn/mISDN/dsp_core.c +++ b/trunk/drivers/isdn/mISDN/dsp_core.c @@ -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) {