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