From: Josip Loncaric This is obviously wrong: skb->stamp.tv_usec = xtime.tv_nsec * 1000; To convert nsec to usec, one should divide instead of multiplying: skb->stamp.tv_usec = xtime.tv_nsec / 1000; Cc: "David S. Miller" Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton --- net/sunrpc/svcsock.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN net/sunrpc/svcsock.c~time-conversion-error-in-net-sunrpc-svcsockc net/sunrpc/svcsock.c --- devel/net/sunrpc/svcsock.c~time-conversion-error-in-net-sunrpc-svcsockc 2005-08-01 17:14:16.000000000 -0700 +++ devel-akpm/net/sunrpc/svcsock.c 2005-08-01 17:14:16.000000000 -0700 @@ -586,7 +586,7 @@ svc_udp_recvfrom(struct svc_rqst *rqstp) } if (skb->stamp.tv_sec == 0) { skb->stamp.tv_sec = xtime.tv_sec; - skb->stamp.tv_usec = xtime.tv_nsec * 1000; + skb->stamp.tv_usec = xtime.tv_nsec / 1000; /* Don't enable netstamp, sunrpc doesn't need that much accuracy */ } _