
From: Peter Pregler <Peter_Pregler@email.com>

Newer versions of module-init-tools do some locking now which leads to a
dead-lock if cpia.c does a request_module("cpia_usb/pp").  The attached
patch against 2.6.8 removes the request_module.  The problem is actually
the same as is documented in debian bug #259056 which was caused by alsa
autoloading some oss-modules.  So I guess there might be more places in the
kernel where this new locking in the module-init-tools might lead to
dead-locks.

Signed-off-by: Peter Pregler <Peter_Pregler@email.com>
Acked-by: Gerd Knorr <kraxel@bytesex.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/media/video/cpia.c |   11 +----------
 1 files changed, 1 insertion(+), 10 deletions(-)

diff -puN drivers/media/video/cpia.c~cpiac-rmmod-deadlock-fix drivers/media/video/cpia.c
--- 25/drivers/media/video/cpia.c~cpiac-rmmod-deadlock-fix	2004-10-21 14:55:15.557437016 -0700
+++ 25-akpm/drivers/media/video/cpia.c	2004-10-21 14:55:15.563436104 -0700
@@ -4047,22 +4047,13 @@ static int __init cpia_init(void)
 	proc_cpia_create();
 #endif
 
-#ifdef CONFIG_KMOD
-#ifdef CONFIG_VIDEO_CPIA_PP_MODULE
-	request_module("cpia_pp");
-#endif
-
-#ifdef CONFIG_VIDEO_CPIA_USB_MODULE
-	request_module("cpia_usb");
-#endif
-#endif	/* CONFIG_KMOD */
-
 #ifdef CONFIG_VIDEO_CPIA_PP
 	cpia_pp_init();
 #endif
 #ifdef CONFIG_VIDEO_CPIA_USB
 	cpia_usb_init();
 #endif
+
 	return 0;
 }
 
_
