Use wait-queue directly instead of the deprecated sleep_on() function. This required adding a local wait-queue. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/drivers/sbus/char/bpp.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -puN drivers/sbus/char/bpp.c~sleep_on-drivers_sbus_char_bpp drivers/sbus/char/bpp.c --- kj/drivers/sbus/char/bpp.c~sleep_on-drivers_sbus_char_bpp 2005-04-05 12:56:30.000000000 +0200 +++ kj-domen/drivers/sbus/char/bpp.c 2005-04-05 12:56:30.000000000 +0200 @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -302,11 +303,14 @@ static void bpp_wake_up(unsigned long va static void snooze(unsigned long snooze_time, unsigned minor) { + DEFINE_WAIT(wait); init_timer(&instances[minor].timer_list); instances[minor].timer_list.expires = jiffies + snooze_time + 1; instances[minor].timer_list.data = minor; add_timer(&instances[minor].timer_list); - sleep_on (&instances[minor].wait_queue); + prepare_to_wait(&instances[minor].wait_queue, &wait, TASK_UNINTERRUPTIBLE); + schedule(); + finish_wait(&instances[minor].wait_queue, &wait); } static int wait_for(unsigned short set, unsigned short clr, _