From f38965153b08aafd51bd5a8412d5d0b21426ade2 Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Mon, 4 Apr 2011 16:25:28 +0000 Subject: [PATCH] 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 Acked-by: Michael Spiceland Acked-by: Kinsey Moore git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9885 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/voicebus/voicebus.c | 3 +++ 1 file changed, 3 insertions(+) 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)) {