Skip to contentSkip to conversation

cdrom/sjcd: remove sleep_on() usage

PATCH In review [email protected] 1 participant 1 message Jun 20, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 3/4 cdrom/sjcd: remove sleep_on() usage

From: Nishanth Aravamudan <[email protected]>

Directly use wait-queues instead of the deprecated sleep_on(). This required adding a local waitqueue. Patch is compile-tested.

---
 sjcd.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)
drivers/cdrom/sjcd.c +5 -1
Index: quilt/drivers/cdrom/sjcd.c
===================================================================
@@ -70,6 +70,7 @@
 #include <linux/string.h>
 #include <linux/major.h>
 #include <linux/init.h>
+#include <linux/wait.h>
 
 #include <asm/system.h>
 #include <asm/io.h>
@@ -407,9 +408,12 @@ static void sjcd_status_timer(void)
  */
 static int sjcd_wait_for_status(void)
 {
+	DEFINE_WAIT(wait);
 	sjcd_status_timeout = SJCD_WAIT_FOR_STATUS_TIMEOUT;
 	SJCD_SET_TIMER(sjcd_status_timer, 1);
-	sleep_on(&sjcd_waitq);
+	prepare_to_wait(&sjcd_waitq, &wait, TASK_UNINTERRUPTIBLE);
+	schedule();
+	finish_wait(&sjcd_waitq, &wait);
 #if defined( SJCD_DIAGNOSTIC ) || defined ( SJCD_TRACE )
 	if (sjcd_status_timeout <= 0)
 		printk("SJCD: Error Wait For Status.\n");

--