summaryrefslogtreecommitdiff
path: root/drivers/dahdi/voicebus
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-04-04 16:25:28 +0000
committerShaun Ruffell <sruffell@digium.com>2011-04-04 16:25:28 +0000
commitb6efe6858b424fc77949a03deec1633825e2edca (patch)
treed4c84b8ec620a0b24fa5ddc332989af8d4ca8815 /drivers/dahdi/voicebus
parentc86c8924bf1f9e23f8e4e70401feedbaedb47920 (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/voicebus')
-rw-r--r--drivers/dahdi/voicebus/voicebus.c3
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)) {