diff options
author | Shraddha Barke <shraddha.6596@gmail.com> | 2015-12-22 11:32:19 +0300 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-12-22 20:19:46 +0300 |
commit | 8182503df1baa077d1504cd192753b23530eb03c (patch) | |
tree | 238847c85dc3efaaff4228a798915cbb5d3d649e /drivers/block/sx8.c | |
parent | 8011e2490907c267e8be02a549246082d537e082 (diff) | |
download | linux-8182503df1baa077d1504cd192753b23530eb03c.tar.xz |
block: sx8.c: Replace timeval with ktime_t
32-bit systems using 'struct timeval' will break in the year 2038,
in order to avoid that replace the code with more appropriate types.
This patch replaces timeval with 64 bit ktime_t which is y2038 safe.
Since st->timestamp is only interested in seconds, directly using
time64_t here. Function ktime_get_seconds is used since it uses
monotonic instead of real time and thus will not cause overflow.
Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/block/sx8.c')
-rw-r--r-- | drivers/block/sx8.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c index 59c91d49b14b..baadb777e035 100644 --- a/drivers/block/sx8.c +++ b/drivers/block/sx8.c @@ -23,7 +23,7 @@ #include <linux/workqueue.h> #include <linux/bitops.h> #include <linux/delay.h> -#include <linux/time.h> +#include <linux/ktime.h> #include <linux/hdreg.h> #include <linux/dma-mapping.h> #include <linux/completion.h> @@ -671,16 +671,15 @@ static int carm_send_special (struct carm_host *host, carm_sspc_t func) static unsigned int carm_fill_sync_time(struct carm_host *host, unsigned int idx, void *mem) { - struct timeval tv; struct carm_msg_sync_time *st = mem; - do_gettimeofday(&tv); + time64_t tv = ktime_get_seconds(); memset(st, 0, sizeof(*st)); st->type = CARM_MSG_MISC; st->subtype = MISC_SET_TIME; st->handle = cpu_to_le32(TAG_ENCODE(idx)); - st->timestamp = cpu_to_le32(tv.tv_sec); + st->timestamp = cpu_to_le32(tv); return sizeof(struct carm_msg_sync_time); } |