summaryrefslogtreecommitdiff
path: root/drivers/dahdi/voicebus/GpakCust.c
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2010-04-05 19:15:59 +0000
committerShaun Ruffell <sruffell@digium.com>2010-04-05 19:15:59 +0000
commit35e23f0e6348c906b33d6bc3f9698b62eb36c30c (patch)
tree20ca69bebe889721defddca1932aa679b9669efb /drivers/dahdi/voicebus/GpakCust.c
parent60458ae6806bf08ae15f6990b7fb7b9b5b9f0565 (diff)
wcte12xp: Try to reconfigure the VPM if we fail to configure the channels.
Also, fall back to any software echocan configured for this channel for new calls while we're in the middle of a recovery. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8473 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/voicebus/GpakCust.c')
-rw-r--r--drivers/dahdi/voicebus/GpakCust.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/dahdi/voicebus/GpakCust.c b/drivers/dahdi/voicebus/GpakCust.c
index 991e02b..74c3304 100644
--- a/drivers/dahdi/voicebus/GpakCust.c
+++ b/drivers/dahdi/voicebus/GpakCust.c
@@ -222,7 +222,7 @@ struct change_order {
static struct change_order *alloc_change_order(void)
{
- return kzalloc(sizeof(struct change_order), GFP_KERNEL);
+ return kzalloc(sizeof(struct change_order), GFP_ATOMIC);
}
static void free_change_order(struct change_order *order)
@@ -617,6 +617,11 @@ vpmadt032_init(struct vpmadt032 *vpm, struct voicebus *vb)
might_sleep();
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
+ INIT_WORK(&vpm->work, vpmadt032_bh, vpm);
+#else
+ INIT_WORK(&vpm->work, vpmadt032_bh);
+#endif
if (vpm->options.debug & DEBUG_VPMADT032_ECHOCAN)
dev_info(&vpm->vb->pdev->dev, "VPMADT032 Testing page access: ");
@@ -689,12 +694,6 @@ vpmadt032_init(struct vpmadt032 *vpm, struct voicebus *vb)
goto failed_exit;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
- INIT_WORK(&vpm->work, vpmadt032_bh, vpm);
-#else
- INIT_WORK(&vpm->work, vpmadt032_bh);
-#endif
-
return 0;
failed_exit: