Use wait_event_interruptible() instead of the deprecated
interruptible_sleep_on(). The change is pretty straight-forward, as the current
sleep is conditional.
Signed-off-by: Nishanth Aravamudan <[email protected]>
Signed-off-by: Domen Puncer <[email protected]>
---
kj-domen/drivers/block/swim3.c | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
diff -puN drivers/block/swim3.c~wait_event_int-drivers_block_swim3 drivers/block/swim3.c
--- kj/drivers/block/swim3.c~wait_event_int-drivers_block_swim3 2005-03-05 16:11:55.000000000 +0100
+++ kj-domen/drivers/block/swim3.c 2005-03-05 16:11:55.000000000 +0100
@@ -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;
}
_