patch-2.4.9 linux/arch/arm/kernel/ecard.c

Next file: linux/arch/arm/kernel/entry-armo.S
Previous file: linux/arch/arm/kernel/debug-armv.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.8/linux/arch/arm/kernel/ecard.c linux/arch/arm/kernel/ecard.c
@@ -230,11 +230,13 @@
 }
 
 #ifdef CONFIG_CPU_32
+#include <linux/completion.h>
+
 static pid_t ecard_pid;
 static wait_queue_head_t ecard_wait;
 static struct ecard_request *ecard_req;
 
-static DECLARE_MUTEX_LOCKED(ecard_done_sem);
+static DECLARE_COMPLETION(ecard_completion);
 
 /*
  * Set up the expansion card daemon's page tables.
@@ -328,7 +330,7 @@
 		} while (req == NULL);
 
 		ecard_do_request(req);
-		up(&ecard_done_sem);
+		complete(&ecard_completion);
 	}
 }
 
@@ -357,7 +359,7 @@
 	/*
 	 * Now wait for kecardd to run.
 	 */
-	down(&ecard_done_sem);
+	wait_for_completion(&ecard_completion);
 }
 #else
 /*

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)