char/sx: replace schedule_timeout() with msleep_interruptible()
PATCH 3/14 char/sx: replace schedule_timeout() with msleep_interruptible()
Please consider applying.
Use msleep_interruptible() instead of schedule_timeout() to guarantee consistent timing regardless of HZ value. schedule_timeout(1) will vary between 10 and 1 milliseconds, depending on the value of HZ (100 or 1000 respectively). For consistent behavior, msleep_interruptible() should be used.
Signed-off-by Nishanth Aravamudan <[email protected]>
Signed-off-by Domen Puncer <[email protected]>
---
kj-domen/drivers/char/sx.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-)
drivers/char/sx.c renamed from drivers/char/sx.c~msleep_interruptible-drivers_char_sx +2 -6
@@ -1515,13 +1515,9 @@ static void sx_close (void *ptr)sx_reconfigure_port (port);sx_send_command (port,HS_CLOSE ,0 ,0 ); -while (to-- && (sx_read_channel_byte (port, hi_hstat) !=HS_IDLE_CLOSED )) { -set_current_state (TASK_INTERRUPTIBLE ); -schedule_timeout (1 ); -if (signal_pending (current)) +while (to-- && (sx_read_channel_byte (port, hi_hstat) !=HS_IDLE_CLOSED )) +if (msleep_interruptible (10 ))break ; - } - current->state =TASK_RUNNING ;if (sx_read_channel_byte (port, hi_hstat) !=HS_IDLE_CLOSED ) {if (sx_send_command (port,HS_FORCE_CLOSED ,-1 ,HS_IDLE_CLOSED ) !=1 ) { printk (KERN_ERR
_