ucmb: Fix msg_delay, if the value is >= 1sec
[openwrt/svn-archive/archive.git] / utils / ucmb / driver / ucmb.c
index 9b89408059f632d718a89eb1c3790bdccb42d1a5..7842d77848ccf1fdb3f468d9dc3902c8081af06e 100644 (file)
@@ -354,7 +354,7 @@ static ssize_t ucmb_write(struct file *filp, const char __user *user_buf,
                /* The microcontroller deserves some time to process the message. */
                if (ucmb->msg_delay_usec >= 1000000) {
                        ssleep(ucmb->msg_delay_usec / 1000000);
-                       msleep(DIV_ROUND_UP(ucmb->msg_delay_usec, 1000));
+                       msleep(DIV_ROUND_UP(ucmb->msg_delay_usec % 1000000, 1000));
                } else if (ucmb->msg_delay_usec >= 1000) {
                        msleep(DIV_ROUND_UP(ucmb->msg_delay_usec, 1000));
                } else