Use wait_event() instead of the deprecated sleep_on(). Since wait_event() expects the condition upon which the loop should return, pass in the negation of the current conditional. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/drivers/acorn/block/fd1772.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/acorn/block/fd1772.c~wait_event-drivers_acorn_block_fd1772 drivers/acorn/block/fd1772.c --- kj/drivers/acorn/block/fd1772.c~wait_event-drivers_acorn_block_fd1772 2005-03-02 10:43:42.000000000 +0100 +++ kj-domen/drivers/acorn/block/fd1772.c 2005-03-02 10:43:42.000000000 +0100 @@ -139,6 +139,7 @@ #include #include #include +#include #include #include @@ -1283,8 +1284,7 @@ static void do_fd_request(request_queue_ if (fdc_busy) return; save_flags(flags); cli(); - while (fdc_busy) - sleep_on(&fdc_wait); + wait_event(fdc_wait, !fdc_busy); fdc_busy = 1; ENABLE_IRQ(); restore_flags(flags); _