|
@@ -367,7 +367,7 @@ static int sock_set_timeout(long *timeo_p, char __user *optval, int optlen)
|
|
if (tv.tv_sec == 0 && tv.tv_usec == 0)
|
|
if (tv.tv_sec == 0 && tv.tv_usec == 0)
|
|
return 0;
|
|
return 0;
|
|
if (tv.tv_sec < (MAX_SCHEDULE_TIMEOUT/HZ - 1))
|
|
if (tv.tv_sec < (MAX_SCHEDULE_TIMEOUT/HZ - 1))
|
|
- *timeo_p = tv.tv_sec*HZ + (tv.tv_usec+(1000000/HZ-1))/(1000000/HZ);
|
|
|
|
|
|
+ *timeo_p = tv.tv_sec * HZ + DIV_ROUND_UP(tv.tv_usec, USEC_PER_SEC / HZ);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1146,7 +1146,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
|
|
v.tm.tv_usec = 0;
|
|
v.tm.tv_usec = 0;
|
|
} else {
|
|
} else {
|
|
v.tm.tv_sec = sk->sk_rcvtimeo / HZ;
|
|
v.tm.tv_sec = sk->sk_rcvtimeo / HZ;
|
|
- v.tm.tv_usec = ((sk->sk_rcvtimeo % HZ) * 1000000) / HZ;
|
|
|
|
|
|
+ v.tm.tv_usec = ((sk->sk_rcvtimeo % HZ) * USEC_PER_SEC) / HZ;
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -1157,7 +1157,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
|
|
v.tm.tv_usec = 0;
|
|
v.tm.tv_usec = 0;
|
|
} else {
|
|
} else {
|
|
v.tm.tv_sec = sk->sk_sndtimeo / HZ;
|
|
v.tm.tv_sec = sk->sk_sndtimeo / HZ;
|
|
- v.tm.tv_usec = ((sk->sk_sndtimeo % HZ) * 1000000) / HZ;
|
|
|
|
|
|
+ v.tm.tv_usec = ((sk->sk_sndtimeo % HZ) * USEC_PER_SEC) / HZ;
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
|
|
|