Skip to contentSkip to conversation

8/34: block/swim3: replace interruptible_sleep_on() with wait_event_interruptible()

PATCH In review [email protected] 1 participant 1 message Mar 5, 2005 Block layer

lore
Share & tools
lore
#0 lore raw

PATCH 11/15 8/34: block/swim3: replace interruptible_sleep_on() with wait_event_interruptible()

Use wait_event_interruptible() instead of the deprecated interruptible_sleep_on(). The change is pretty straight-forward, as the current sleep is conditional.

---

 kj-domen/drivers/block/swim3.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)
drivers/block/swim3.c renamed from drivers/block/swim3.c~wait_event_int-drivers_block_swim3 +6 -7
diff -puN drivers/block/swim3.c~wait_event_int-drivers_block_swim3 drivers/block/swim3.c
@@ -28,6 +28,7 @@
 #include <linux/devfs_fs_kernel.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
+#include <linux/wait.h>
 #include <asm/io.h>
 #include <asm/dbdma.h>
 #include <asm/prom.h>
@@ -792,13 +793,11 @@ static int grab_drive(struct floppy_stat
 	cli();
 	if (fs->state != idle) {
 		++fs->wanted;
-		while (fs->state != available) {
-			if (interruptible && signal_pending(current)) {
-				--fs->wanted;
-				restore_flags(flags);
-				return -EINTR;
-			}
-			interruptible_sleep_on(&fs->wait);
+		wait_event_interruptible(fs->wait, (fs->state == available));
+		if (interruptible && signal_pending(current)) {
+			--fs->wanted;
+			restore_flags(flags);
+			return -EINTR;
 		}
 		--fs->wanted;
 	}

_