[dahdi-commits] sruffell: linux/trunk r8007 - in /linux/trunk: drivers/dahdi/wctdm24xxp/ driv...

SVN commits to the DAHDI project dahdi-commits at lists.digium.com
Mon Feb 8 16:49:38 CST 2010


Author: sruffell
Date: Mon Feb  8 16:49:34 2010
New Revision: 8007

URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=8007
Log:
wctdm24xxp, wcte12xp: Abort the search for modules if killed.

If the user kills the modprobe process that is initializing the modules, exit as
soon as possible and do not look for any other modules.

Modified:
    linux/trunk/drivers/dahdi/wctdm24xxp/base.c
    linux/trunk/drivers/dahdi/wcte12xp/base.c
    linux/trunk/include/dahdi/kernel.h

Modified: linux/trunk/drivers/dahdi/wctdm24xxp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/wctdm24xxp/base.c?view=diff&rev=8007&r1=8006&r2=8007
==============================================================================
--- linux/trunk/drivers/dahdi/wctdm24xxp/base.c (original)
+++ linux/trunk/drivers/dahdi/wctdm24xxp/base.c Mon Feb  8 16:49:34 2010
@@ -3584,6 +3584,9 @@
 	/* 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 @@
 		}
 	}
 
+	if (fatal_signal_pending(current))
+		return -EINTR;
+
 	if (!vpmsupport) {
 		printk(KERN_NOTICE "VPM: Support Disabled\n");
 	} else if (!wctdm_vpm_init(wc)) {

Modified: linux/trunk/drivers/dahdi/wcte12xp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/wcte12xp/base.c?view=diff&rev=8007&r1=8006&r2=8007
==============================================================================
--- linux/trunk/drivers/dahdi/wcte12xp/base.c (original)
+++ linux/trunk/drivers/dahdi/wcte12xp/base.c Mon Feb  8 16:49:34 2010
@@ -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 @@
 	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;

Modified: linux/trunk/include/dahdi/kernel.h
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/include/dahdi/kernel.h?view=diff&rev=8007&r1=8006&r2=8007
==============================================================================
--- linux/trunk/include/dahdi/kernel.h (original)
+++ linux/trunk/include/dahdi/kernel.h Mon Feb  8 16:49:34 2010
@@ -1176,6 +1176,11 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
 #define KERN_CONT ""
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
+static inline int fatal_signal_pending(struct task_struct *p)
+{
+	return signal_pending(p) && sigismember(&p->pending.signal, SIGKILL);
+}
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18)
 static inline void list_replace(struct list_head *old, struct list_head *new)
 {
@@ -1202,6 +1207,7 @@
 #endif /* 2.6.11 */
 #endif /* 2.6.14 */
 #endif /* 2.6.18 */
+#endif /* 2.6.25 */
 #endif /* 2.6.31 */
 
 #ifndef DMA_BIT_MASK




More information about the dahdi-commits mailing list