You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
From 91c2f372e3f70ab5b5afff5af60348fd5656d739 Mon Sep 17 00:00:00 2001
|
|
From: Camelia Groza <camelia.groza@nxp.com>
|
|
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 <camelia.groza@nxp.com>
|
|
---
|
|
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"
|