diff options
Diffstat (limited to 'drivers/dahdi')
-rw-r--r-- | drivers/dahdi/wctdm24xxp/base.c | 6 | ||||
-rw-r--r-- | drivers/dahdi/wcte12xp/base.c | 3 |
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; |