serial/crisv10: replace schedule_timeout() with msleep()
PATCH 10/14 serial/crisv10: replace schedule_timeout() with msleep()
Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code uses TASK_INTERRUPTIBLE, but does not care about signals, so I believe msleep() should be ok.
---
kj-domen/drivers/serial/crisv10.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)
drivers/serial/crisv10.c renamed from drivers/serial/crisv10.c~msleep-drivers_serial_crisv10 +2 -4
@@ -3757,10 +3757,8 @@ rs_write(struct tty_struct * tty, int fre100_enable_rx_irq (info);#endif -if (info->rs485.delay_rts_before_send >0 ) { -set_current_state (TASK_INTERRUPTIBLE ); -schedule_timeout ((info->rs485.delay_rts_before_send *HZ )/1000 ); - } +if (info->rs485.delay_rts_before_send >0 ) + msleep(info->rs485.delay_rts_before_send); }#endif /* CONFIG_ETRAX_RS485 */
_
Quoted 20 lines · [email protected] wrote:
Use
msleep()instead ofschedule_timeout()to guarantee the task
delays as expected. The current code usesTASK_INTERRUPTIBLE, but does not care about signals, so I believemsleep()should be ok.Signed-off-by Nishanth Aravamudan <[email protected]>Signed-off-by Domen Puncer <[email protected]>---
kj-domen/drivers/serial/crisv10.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)diff -puN
drivers/serial/crisv10.c~msleep-drivers_serial_crisv10drivers/serial/crisv10.c
--- kj/drivers/serial/crisv10.c~msleep-drivers_serial_crisv10 2005-03-05 16:10:52.000000000 +0100
+++kj-domen/drivers/serial/crisv10.c2005-03-05 16:10:52.000000000 +0100
@@ -3757,10 +3757,8 @@ rs_write(structtty_struct* tty, int fr
e100_enable_rx_irq(info);
#endif
Quoted 6 lines
- if (
info->rs485.delay_rts_before_send> 0) {
-set_current_state(TASK_INTERRUPTIBLE);
-schedule_timeout((info->rs485.delay_rts_before_send * HZ)/1000);
- }
+ if (info->rs485.delay_rts_before_send> 0)
+msleep(info->rs485.delay_rts_before_send);
Behavioural change: we'll no longer break out of the sleep if a signal is pending. Which probably means you fixed a bug ;)
Please work it with Mikael.