Please consider applying. Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code is not incorrect. Using msleep(), though, encourages specifying time delays in human time-units and consistency across the kernel. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/drivers/usb/serial/cypress_m8.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN drivers/usb/serial/cypress_m8.c~msleep-drivers_usb_serial_cypress_m8 drivers/usb/serial/cypress_m8.c --- kj/drivers/usb/serial/cypress_m8.c~msleep-drivers_usb_serial_cypress_m8 2005-03-02 10:43:11.000000000 +0100 +++ kj-domen/drivers/usb/serial/cypress_m8.c 2005-03-02 10:43:11.000000000 +0100 @@ -57,9 +57,10 @@ #include #include #include -#include #include #include +#include +#include #include "usb-serial.h" #include "cypress_m8.h" @@ -1013,8 +1014,7 @@ static void cypress_set_termios (struct cypress_serial_control(port, baud_mask, data_bits, stop_bits, parity_enable, parity_type, 0, CYPRESS_SET_CONFIG); - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(50*HZ/1000); /* give some time between change and read (50ms) */ + msleep(50); /* give some time between change and read (50ms) */ /* we perform a CYPRESS_GET_CONFIG so that the current settings are filled into the private structure * this should confirm that all is working if it returns what we just set */ _