Skip to contentSkip to conversation

mpt2sas: Corrected time stamp

PATCH In review Kashyap, Desai 1 participant 1 message Mar 17, 2010 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/11 mpt2sas: Corrected time stamp

incorrect timestamp on 32 bit platforms: The upper 32 bit of
the timestamp was getting truncated when converting seconds to milliseconds, which was due to the variable being long. To fix the problem, the variable needs to be u64. Also the microseconds conversion to milliseconds was incorrect; it should be divide by 1000 instead of divide by 8.

---

drivers/scsi/mpt2sas/mpt2sas_base.c +2 -2
index da4bfbf..79ab9fa 100644
@@ -3006,8 +3006,8 @@ _base_send_ioc_init(struct MPT2SAS_ADAPTER *ioc, int sleep_flag)
 	 * since epoch ~ midnight January 1, 1970.
 	 */
 	do_gettimeofday(&current_time);
-	mpi_request.TimeStamp = (current_time.tv_sec * 1000) +
-	    (current_time.tv_usec >> 3);
+	mpi_request.TimeStamp = cpu_to_le64((u64)current_time.tv_sec * 1000 +
+	    (current_time.tv_usec / 1000));
 
 	if (ioc->logging_level & MPT_DEBUG_INIT) {
 		u32 *mfp;