From: Nishanth Aravamudan <nacc@xxxxxxxxxx> Remove deprecated interruptible_sleep_on() function call and replace with direct wait-queue usage. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxx> Signed-off-by: Domen Puncer <domen@xxxxxxxxxxxx> --- bcm1250_tbprof.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) Index: quilt/arch/mips/sibyte/sb1250/bcm1250_tbprof.c =================================================================== --- quilt.orig/arch/mips/sibyte/sb1250/bcm1250_tbprof.c +++ quilt/arch/mips/sibyte/sb1250/bcm1250_tbprof.c @@ -28,6 +28,7 @@ #include <linux/fs.h> #include <linux/errno.h> #include <linux/reboot.h> +#include <linux/wait.h> #include <asm/uaccess.h> #include <asm/io.h> #include <asm/sibyte/sb1250.h> @@ -231,6 +232,7 @@ int sbprof_zbprof_start(struct file *fil int sbprof_zbprof_stop(void) { + DEFINE_WAIT(wait); DBG(printk(DEVNAME ": stopping\n")); if (sbp.tb_enable) { @@ -240,7 +242,9 @@ int sbprof_zbprof_stop(void) this sleep happens. */ if (sbp.tb_armed) { DBG(printk(DEVNAME ": wait for disarm\n")); - interruptible_sleep_on(&sbp.tb_sync); + prepare_to_wait(&sbp.tb_sync, &wait, TASK_INTERRUPTIBLE); + schedule(); + finish_wait(&sbp.tb_sync, &wait); DBG(printk(DEVNAME ": disarm complete\n")); } free_irq(K_INT_TRACE_FREEZE, &sbp); @@ -339,6 +343,7 @@ static int sbprof_tb_ioctl(struct inode unsigned long arg) { int error = 0; + DEFINE_WAIT(wait); switch (command) { case SBPROF_ZBSTART: @@ -348,7 +353,9 @@ static int sbprof_tb_ioctl(struct inode error = sbprof_zbprof_stop(); break; case SBPROF_ZBWAITFULL: - interruptible_sleep_on(&sbp.tb_read); + prepare_to_wait(&sbp.tb_read, &wait, TASK_INTERRUPTIBLE); + schedule(); + finish_wait(&sbp.tb_read, &wait); /* XXXKW check if interrupted? */ return put_user(TB_FULL, (int *) arg); default: --