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
This commit is contained in:
Shaun Ruffell 2011-04-04 16:25:28 +00:00
parent f8af2b7a5c
commit f38965153b

View File

@ -787,6 +787,7 @@ static void setup_descriptors(struct voicebus *vb)
struct vbb *vbb; struct vbb *vbb;
dma_addr_t dma_addr; dma_addr_t dma_addr;
LIST_HEAD(buffers); LIST_HEAD(buffers);
unsigned long flags;
might_sleep(); might_sleep();
@ -831,7 +832,9 @@ static void setup_descriptors(struct voicebus *vb)
list_add_tail(&vbb->entry, &buffers); list_add_tail(&vbb->entry, &buffers);
} }
local_irq_save(flags);
handle_transmit(vb, &buffers); handle_transmit(vb, &buffers);
local_irq_restore(flags);
vb_disable_deferred(vb); vb_disable_deferred(vb);
while (!list_empty(&buffers)) { while (!list_empty(&buffers)) {