Skip to contentSkip to conversation

block/xd: remove sleep_on() usage

PATCH In review [email protected] 1 participant 1 message Jun 21, 2005 Block layer

lore
Share & tools
lore
#0 lore raw

PATCH 7/12 block/xd: 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.

---
 xd.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)
drivers/block/xd.c +4 -1
Index: quilt/drivers/block/xd.c
===================================================================
@@ -538,6 +538,7 @@ static inline u_char xd_waitport (u_shor
 
 static inline u_int xd_wait_for_IRQ (void)
 {
+	DEFINE_WAIT(wait);
 	unsigned long flags;
 	xd_watchdog_int.expires = jiffies + 8 * HZ;
 	add_timer(&xd_watchdog_int);
@@ -546,7 +547,9 @@ static inline u_int xd_wait_for_IRQ (voi
 	enable_dma(xd_dma);
 	release_dma_lock(flags);
 	
-	sleep_on(&xd_wait_int);
+	prepare_to_wait(&xd_wait_int, &wait, TASK_UNINTERRUPTIBLE);
+	schedule();
+	finish_wait(&xd_wait_int, &wait);
 	del_timer(&xd_watchdog_int);
 	xdc_busy = 0;
 	

--