summaryrefslogtreecommitdiff
path: root/drivers/dahdi/voicebus/voicebus.h
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2010-07-26 00:30:37 +0000
committerShaun Ruffell <sruffell@digium.com>2010-07-26 00:30:37 +0000
commit4b380bbcbb33017a3c343d4ded0e5eff2fe497a7 (patch)
tree7a0469fd8773f56c86b0ee6485ee0635ad5d76f3 /drivers/dahdi/voicebus/voicebus.h
parentaaad56c3ef82b84f509bdb8ab0424905dd56dc3b (diff)
wcte12xp, wctdm24xxp: spin_lock_bh -> spin_lock_irqsave
Will add an option to allow calling the deferred processing callback directly in the interrupt handler. It appears there are some systems which still are unable to process their tasklets in a timely fashion, especially if they get pushed out to the ksoftirqd daemon. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8981 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/voicebus/voicebus.h')
-rw-r--r--drivers/dahdi/voicebus/voicebus.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dahdi/voicebus/voicebus.h b/drivers/dahdi/voicebus/voicebus.h
index e563604..37b9271 100644
--- a/drivers/dahdi/voicebus/voicebus.h
+++ b/drivers/dahdi/voicebus/voicebus.h
@@ -216,10 +216,11 @@ static inline void voicebus_set_hx8_mode(struct voicebus *vb)
static inline void
voicebus_set_maxlatency(struct voicebus *vb, unsigned int max_latency)
{
- spin_lock_bh(&vb->lock);
+ unsigned long flags;
+ spin_lock_irqsave(&vb->lock, flags);
vb->max_latency = clamp(max_latency,
vb->min_tx_buffer_count,
VOICEBUS_DEFAULT_MAXLATENCY);
- spin_unlock_bh(&vb->lock);
+ spin_unlock_irqrestore(&vb->lock, flags);
}
#endif /* __VOICEBUS_H__ */