mpt3sas: Remove usage of 'struct timeval'
Subsystems (2)
PATCH RESEND 1/1 mpt3sas: Remove usage of 'struct timeval'
'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 <[email protected]>
--- drivers/scsi/mpt3sas/mpt3sas_base.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/scsi/mpt3sas/mpt3sas_base.c +4 -4
@@ -56,6 +56,7 @@#include <linux/dma-mapping.h> #include <linux/io.h> #include <linux/time.h> +#include <linux/ktime.h> #include <linux/kthread.h> #include <linux/aer.h>
@@ -3735,7 +3736,7 @@ _base_send_ioc_init(struct MPT3SAS_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 ;
@@ -3797,9 +3798,8 @@ _base_send_ioc_init(struct MPT3SAS_ADAPTER *ioc, int sleep_flag)/* This time stamp specifies number of milliseconds * since epoch ~ midnight January 1, 1970. */ -do_gettimeofday (¤t_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;
Signature · 1 line
2.2.0.rc0.207.ga3a616c