From: Nishanth Aravamudan Subject: [KJ] [PATCH] block/xd: remove sleep_on() usage 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 Signed-off-by: Domen Puncer --- 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 @@ -540,6 +540,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); @@ -548,7 +549,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;