summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c6
-rw-r--r--drivers/dahdi/wcte12xp/base.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index 976d744..73f0db6 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -3584,6 +3584,9 @@ static int wctdm_locate_modules(struct wctdm *wc)
/* Reset modules */
for (x=0;x<wc->cards;x++) {
int sane=0,ret=0,readi=0;
+
+ if (fatal_signal_pending(current))
+ break;
retry:
/* Init with Auto Calibration */
if (!(ret = wctdm_init_proslic(wc, x, 0, 0, sane))) {
@@ -3645,6 +3648,9 @@ retry:
}
}
+ if (fatal_signal_pending(current))
+ return -EINTR;
+
if (!vpmsupport) {
printk(KERN_NOTICE "VPM: Support Disabled\n");
} else if (!wctdm_vpm_init(wc)) {
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c
index e365845..d153234 100644
--- a/drivers/dahdi/wcte12xp/base.c
+++ b/drivers/dahdi/wcte12xp/base.c
@@ -38,6 +38,7 @@
#include <linux/interrupt.h>
#include <linux/workqueue.h>
#include <linux/delay.h>
+#include <linux/sched.h>
#include <dahdi/kernel.h>
@@ -1395,7 +1396,7 @@ static int t1_hardware_post_init(struct t1 *wc)
t1_setleds(wc, wc->ledstate);
#ifdef VPM_SUPPORT
- if (vpmsupport) {
+ if (!fatal_signal_pending(current) && vpmsupport) {
memset(&options, 0, sizeof(options));
options.debug = debug;
options.vpmnlptype = vpmnlptype;