diff options
author | Shaun Ruffell <sruffell@digium.com> | 2011-04-04 16:25:28 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2011-04-04 16:25:28 +0000 |
commit | a833f75edf8c18927cab26f4411835e3a9e9c988 (patch) | |
tree | d4c84b8ec620a0b24fa5ddc332989af8d4ca8815 /drivers/dahdi | |
parent | 9331138caf0c62c6efb433719ea0e85ea419cdfa (diff) |
wctdm24xxp, wcte12xp: Always call handle_transmit/receive in hardirq context.
Allows the board drivers to use the regular locks instead of the
irqsave/irqrestore variants.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Michael Spiceland <mspiceland@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9885 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi')
-rw-r--r-- | drivers/dahdi/voicebus/voicebus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dahdi/voicebus/voicebus.c b/drivers/dahdi/voicebus/voicebus.c index c98b64f..e77d0e1 100644 --- a/drivers/dahdi/voicebus/voicebus.c +++ b/drivers/dahdi/voicebus/voicebus.c @@ -787,6 +787,7 @@ static void setup_descriptors(struct voicebus *vb) struct vbb *vbb; dma_addr_t dma_addr; LIST_HEAD(buffers); + unsigned long flags; might_sleep(); @@ -831,7 +832,9 @@ static void setup_descriptors(struct voicebus *vb) list_add_tail(&vbb->entry, &buffers); } + local_irq_save(flags); handle_transmit(vb, &buffers); + local_irq_restore(flags); vb_disable_deferred(vb); while (!list_empty(&buffers)) { |