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 Signed-off-by: Domen Puncer --- kj-domen/drivers/block/swim_iop.c | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-) diff -puN drivers/block/swim_iop.c~wait_event_int-drivers_block_swim_iop drivers/block/swim_iop.c --- kj/drivers/block/swim_iop.c~wait_event_int-drivers_block_swim_iop 2005-03-02 10:44:55.000000000 +0100 +++ kj-domen/drivers/block/swim_iop.c 2005-03-02 10:44:55.000000000 +0100 @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -431,13 +432,11 @@ static int grab_drive(struct floppy_stat local_irq_save(flags); if (fs->state != idle) { ++fs->wanted; - while (fs->state != available) { - if (interruptible && signal_pending(current)) { - --fs->wanted; - local_irq_restore(flags); - return -EINTR; - } - interruptible_sleep_on(&fs->wait); + wait_event_interruptible(fs->wait, (fs->state == available)); + if (interruptible && signal_pending(current)) { + --fs->wanted; + local_irq_restore(flags); + return -EINTR; } --fs->wanted; } _