public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 07/12] block/xd: remove sleep_on() usage
@ 2005-06-20 21:51 domen
  0 siblings, 0 replies; only message in thread
From: domen @ 2005-06-20 21:51 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel, Nishanth Aravamudan, domen

[-- Attachment #1: sleep_on-drivers_block_xd.patch --]
[-- Type: text/plain, Size: 1050 bytes --]

From: Nishanth Aravamudan <nacc@us.ibm.com>



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

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
---
 xd.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

Index: quilt/drivers/block/xd.c
===================================================================
--- quilt.orig/drivers/block/xd.c
+++ 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;
 	

--

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-06-21  6:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-20 21:51 [patch 07/12] block/xd: remove sleep_on() usage domen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox