From c9481d30bbc84905f449b8c1bfc2c8f3eaefd9c3 Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Sun, 18 May 2014 02:49:30 -0500 Subject: [PATCH] pciradio: interruptible_sleep_on_timeout() -> msleep_interruptible() interruptible_sleep_on_timeout() has been deprecated for awhile and was finally removed in Linux 3.15. Since interruptible_sleep_on_timeout() uses jiffies for the delay, I assumed that each jiffy equated to 10ms given the age of the driver. Signed-off-by: Shaun Ruffell Acked-by: Tzafrir Cohen Signed-off-by: Russ Meyerriecks --- drivers/dahdi/pciradio.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/dahdi/pciradio.c b/drivers/dahdi/pciradio.c index 9231593..07b85b3 100644 --- a/drivers/dahdi/pciradio.c +++ b/drivers/dahdi/pciradio.c @@ -52,6 +52,7 @@ With driver: 303826 (1.5 %) #include #include #include +#include #include #include @@ -481,8 +482,6 @@ static void rbi_out(struct pciradio *rad, int n, unsigned char *rbicmd) { unsigned long flags; int x; -DECLARE_WAIT_QUEUE_HEAD(mywait); - for(;;) { @@ -490,7 +489,8 @@ DECLARE_WAIT_QUEUE_HEAD(mywait); x = rad->remote_locked || (__pciradio_getcreg(rad,0xc) & 2); if (!x) rad->remote_locked = 1; spin_unlock_irqrestore(&rad->lock,flags); - if (x) interruptible_sleep_on_timeout(&mywait,2); + if (x) + msleep_interruptible(20); else break; } spin_lock_irqsave(&rad->lock,flags); @@ -527,7 +527,6 @@ static void mx828_command(struct pciradio *rad,int channel, unsigned char comman static void mx828_command_wait(struct pciradio *rad,int channel, unsigned char command, unsigned char *byte1, unsigned char *byte2) { -DECLARE_WAIT_QUEUE_HEAD(mywait); unsigned long flags; @@ -535,7 +534,7 @@ unsigned long flags; while(rad->encdec.state) { spin_unlock_irqrestore(&rad->lock,flags); - interruptible_sleep_on_timeout(&mywait,2); + msleep_interruptible(20); spin_lock_irqsave(&rad->lock,flags); } rad->encdec.lastcmd = jiffies + 1000; @@ -967,7 +966,6 @@ static int pciradio_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned lo } stack; struct pciradio *rad = chan->pvt; - DECLARE_WAIT_QUEUE_HEAD(mywait); switch (cmd) { case DAHDI_RADIO_GETPARAM: @@ -1255,7 +1253,7 @@ static int pciradio_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned lo __pciradio_setcreg(rad,8,byte2); spin_unlock_irqrestore(&rad->lock,flags); if (i || (jiffies < rad->lastremcmd + 10)) - interruptible_sleep_on_timeout(&mywait,10); + msleep_interruptible(100); rad->lastremcmd = jiffies; rbi_out(rad,chan->chanpos - 1,(unsigned char *)&stack.p.data); spin_lock_irqsave(&rad->lock,flags); @@ -1270,7 +1268,8 @@ static int pciradio_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned lo x = rad->remote_locked || (__pciradio_getcreg(rad,0xc) & 2); if (!x) rad->remote_locked = 1; spin_unlock_irqrestore(&rad->lock,flags); - if (x) interruptible_sleep_on_timeout(&mywait,2); + if (x) + msleep_interruptible(20); else break; } spin_lock_irqsave(&rad->lock,flags); @@ -1287,14 +1286,14 @@ static int pciradio_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned lo __pciradio_setcreg(rad,8,byte2); spin_unlock_irqrestore(&rad->lock,flags); if (byte1 != byte2) - interruptible_sleep_on_timeout(&mywait,3); + msleep_interruptible(30); while (jiffies < rad->lastremcmd + 10) - interruptible_sleep_on_timeout(&mywait,10); + msleep_interruptible(100); rad->lastremcmd = jiffies; for(;;) { if (!(__pciradio_getcreg(rad,0xc) & 2)) break; - interruptible_sleep_on_timeout(&mywait,2); + msleep_interruptible(20); } spin_lock_irqsave(&rad->lock,flags); /* enable and address async serializer */ @@ -1316,7 +1315,7 @@ static int pciradio_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned lo (!strchr((char *)rad->rxbuf,'\r')))) { spin_unlock_irqrestore(&rad->lock,flags); - interruptible_sleep_on_timeout(&mywait,2); + msleep_interruptible(20); spin_lock_irqsave(&rad->lock,flags); continue; } @@ -1336,7 +1335,7 @@ static int pciradio_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned lo while(rad->txlen && (rad->txindex < rad->txlen)) { spin_unlock_irqrestore(&rad->lock,flags); - interruptible_sleep_on_timeout(&mywait,2); + msleep_interruptible(20); spin_lock_irqsave(&rad->lock,flags); } /* disable and un-address async serializer */ @@ -1345,7 +1344,7 @@ static int pciradio_ioctl(struct dahdi_chan *chan, unsigned int cmd, unsigned lo rad->remote_locked = 0; spin_unlock_irqrestore(&rad->lock,flags); if (rad->remmode[chan->chanpos - 1] == DAHDI_RADPAR_REM_SERIAL_ASCII) - interruptible_sleep_on_timeout(&mywait,100); + msleep_interruptible(1000); if (copy_to_user((__user void *) data, &stack.p, sizeof(stack.p))) return -EFAULT; return 0; default: -- 1.9.3