1 From 91c2f372e3f70ab5b5afff5af60348fd5656d739 Mon Sep 17 00:00:00 2001
2 From: Camelia Groza <camelia.groza@nxp.com>
3 Date: Wed, 10 Oct 2018 17:30:18 +0300
4 Subject: [PATCH] staging/fsl_qbman: stop using current_kernel_time()
6 The current_kernel_time() call was removed in [1] in order to avoid
7 overflows in 2038. Use ktime_get_coarse_real_ts64() instead.
9 [1] 9765164 ("y2038: remove unused time interfaces")
11 Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
13 drivers/staging/fsl_qbman/qbman_driver.c | 9 ++++++---
14 1 file changed, 6 insertions(+), 3 deletions(-)
16 --- a/drivers/staging/fsl_qbman/qbman_driver.c
17 +++ b/drivers/staging/fsl_qbman/qbman_driver.c
18 @@ -57,7 +57,10 @@ static __init int qbman_init(void)
20 struct qm_mcr_queryfq_np np;
21 int err, retry = CONFIG_FSL_QMAN_INIT_TIMEOUT;
22 - struct timespec nowts, diffts, startts = current_kernel_time();
23 + struct timespec64 nowts, diffts, startts;
25 + ktime_get_coarse_real_ts64(&startts);
27 /* Loop while querying given fqid succeeds or time out */
29 err = qman_query_fq_np(&fq, &np);
30 @@ -68,8 +71,8 @@ static __init int qbman_init(void)
31 pr_err("QMan: I/O error, continuing anyway\n");
34 - nowts = current_kernel_time();
35 - diffts = timespec_sub(nowts, startts);
36 + ktime_get_coarse_real_ts64(&nowts);
37 + diffts = timespec64_sub(nowts, startts);
38 if (diffts.tv_sec > 0) {
40 pr_err("QMan: time out, control-plane"