Re: [Y2038] [RESEND PATCH] mpt2sas: Remove usage of 'struct timeval'

2015-11-11 Thread Martin K. Petersen
> "Tina" == Tina Ruchandani  writes:

Tina,

Tina> 'struct timeval' will have its tv_sec value overflow on 32-bit
Tina> systems in year 2038 and beyond. This patch replaces the use of
Tina> struct timeval for computing mpi_request.TimeStamp, and instead
Tina> uses ktime_t which provides 64-bit seconds value. The timestamp
Tina> computed remains unaffected (milliseconds since Unix epoch).

We just consolidated the mpt2sas and mpt3sas drivers into one so I'm
afraid your time tweaks will have to be rebased. I encourage you repost
in a couple of weeks after the merge window dust settles.

Thanks!

-- 
Martin K. Petersen  Oracle Linux Engineering
___
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038


[Y2038] [RESEND PATCH] mpt2sas: Remove usage of 'struct timeval'

2015-10-30 Thread Tina Ruchandani
'struct timeval' will have its tv_sec value overflow on 32-bit systems
in year 2038 and beyond. This patch replaces the use of struct timeval
for computing mpi_request.TimeStamp, and instead uses ktime_t which provides
64-bit seconds value. The timestamp computed remains unaffected (milliseconds
since Unix epoch).

Signed-off-by: Tina Ruchandani 
---
 drivers/scsi/mpt2sas/mpt2sas_base.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c 
b/drivers/scsi/mpt2sas/mpt2sas_base.c
index 58e4521..6d80477 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
@@ -57,6 +57,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -3616,7 +3617,7 @@ _base_send_ioc_init(struct MPT2SAS_ADAPTER *ioc, int 
sleep_flag)
Mpi2IOCInitRequest_t mpi_request;
Mpi2IOCInitReply_t mpi_reply;
int i, r = 0;
-   struct timeval current_time;
+   ktime_t current_time;
u16 ioc_status;
u32 reply_post_free_array_sz = 0;
Mpi2IOCInitRDPQArrayEntry *reply_post_free_array = NULL;
@@ -3678,9 +3679,8 @@ _base_send_ioc_init(struct MPT2SAS_ADAPTER *ioc, int 
sleep_flag)
/* This time stamp specifies number of milliseconds
 * since epoch ~ midnight January 1, 1970.
 */
-   do_gettimeofday(_time);
-   mpi_request.TimeStamp = cpu_to_le64((u64)current_time.tv_sec * 1000 +
-   (current_time.tv_usec / 1000));
+   current_time = ktime_get_real();
+   mpi_request.TimeStamp = cpu_to_le64(ktime_to_ms(current_time));
 
if (ioc->logging_level & MPT_DEBUG_INIT) {
__le32 *mfp;
-- 
2.2.0.rc0.207.ga3a616c

___
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038