media/msp3400: replace schedule_timeout() with msleep_interruptible()
PATCH 13/21 media/msp3400: replace schedule_timeout() with msleep_interruptible()
Any comments would be appreciated.
Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected.
Signed-off-by Nishanth Aravamudan <[email protected]>
Signed-off-by Maximilian Attems <[email protected]>
---
linux-2.6.9-rc2-bk7-max/drivers/media/video/msp3400.c | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-)
drivers/media/video/msp3400.c renamed from drivers/media/video/msp3400.c~msleep_interruptible-drivers_media_video_msp3400 +6 -7
@@ -191,8 +191,7 @@ msp3400c_read(struct i2c_client *client, err++;printk (KERN_WARNING "msp34xx: I/O error #%d (read 0x%02x/0x%02x)\n" , err, dev, addr); -set_current_state (TASK_INTERRUPTIBLE ); -schedule_timeout (HZ /10 ); +msleep_interruptible (100 ); }if (3 == err) {printk (KERN_WARNING "msp34xx: giving up, reseting chip. Sound will go off, sorry folks :-|\n" );
@@ -220,8 +219,7 @@ msp3400c_write(struct i2c_client *client err++;printk (KERN_WARNING "msp34xx: I/O error #%d (write 0x%02x/0x%02x)\n" , err, dev, addr); -set_current_state (TASK_INTERRUPTIBLE ); -schedule_timeout (HZ /10 ); +msleep_interruptible (100 ); }if (3 == err) {printk (KERN_WARNING "msp34xx: giving up, reseting chip. Sound will go off, sorry folks :-|\n" );
@@ -740,11 +738,12 @@ static int msp34xx_sleep(struct msp3400cadd_wait_queue (&msp->wq, &wait);if (!msp->rmmod) { -set_current_state (TASK_INTERRUPTIBLE ); -if (timeout <0 ) +if (timeout <0 ) { +set_current_state (TASK_INTERRUPTIBLE );schedule (); + }else -schedule_timeout (timeout); +msleep_interruptible (jiffies_to_msecs (timeout)); }remove_wait_queue (&msp->wq, &wait);return msp->rmmod ||signal_pending (current);
_