diff options
author | Shaun Ruffell <sruffell@digium.com> | 2010-07-26 00:30:37 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2010-07-26 00:30:37 +0000 |
commit | 4b380bbcbb33017a3c343d4ded0e5eff2fe497a7 (patch) | |
tree | 7a0469fd8773f56c86b0ee6485ee0635ad5d76f3 /drivers/dahdi/voicebus/voicebus.h | |
parent | aaad56c3ef82b84f509bdb8ab0424905dd56dc3b (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.h | 5 |
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__ */ |