|
@@ -1150,16 +1150,13 @@ osf_usleep_thread(struct timeval32 __user *sleep, struct timeval32 __user *remai
|
|
|
if (get_tv32(&tmp, sleep))
|
|
|
goto fault;
|
|
|
|
|
|
- ticks = tmp.tv_usec;
|
|
|
- ticks = (ticks + (1000000 / HZ) - 1) / (1000000 / HZ);
|
|
|
- ticks += tmp.tv_sec * HZ;
|
|
|
+ ticks = timeval_to_jiffies(&tmp);
|
|
|
|
|
|
current->state = TASK_INTERRUPTIBLE;
|
|
|
ticks = schedule_timeout(ticks);
|
|
|
|
|
|
if (remain) {
|
|
|
- tmp.tv_sec = ticks / HZ;
|
|
|
- tmp.tv_usec = ticks % HZ;
|
|
|
+ jiffies_to_timeval(ticks, &tmp);
|
|
|
if (put_tv32(remain, &tmp))
|
|
|
goto fault;
|
|
|
}
|