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:
parent
f8af2b7a5c
commit
f38965153b
@ -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)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user