
From: Josip Loncaric <josip@lanl.gov>

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" <davem@davemloft.net>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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 */
 	}
_
