mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
53 lines
2.0 KiB
Diff
53 lines
2.0 KiB
Diff
From 9ad19ffdcfdf77baf3abd4fcc933fd3dc8e791a5 Mon Sep 17 00:00:00 2001
|
|
From: Murat Sezgin <msezgin@codeaurora.org>
|
|
Date: Sat, 20 Jun 2020 09:41:01 -0700
|
|
Subject: [qca-nss-ecm] Fix NSS stats request roll over issue
|
|
|
|
Use the correct timer API to check the next request time
|
|
when jiffies wrap happens.
|
|
|
|
Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
|
|
Change-Id: I18646d28df7e17daeff2986dfe4bd73866d47668
|
|
---
|
|
frontends/nss/ecm_nss_ipv4.c | 4 ++--
|
|
frontends/nss/ecm_nss_ipv6.c | 4 ++--
|
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/frontends/nss/ecm_nss_ipv4.c b/frontends/nss/ecm_nss_ipv4.c
|
|
index 3eaf5d8..80e1aee 100644
|
|
--- a/frontends/nss/ecm_nss_ipv4.c
|
|
+++ b/frontends/nss/ecm_nss_ipv4.c
|
|
@@ -2421,10 +2421,10 @@ static void ecm_nss_ipv4_stats_sync_req_work(struct work_struct *work)
|
|
current_jiffies = jiffies;
|
|
|
|
if (time_is_after_jiffies(ecm_nss_ipv4_roll_check_jiffies)) {
|
|
- ecm_nss_ipv4_next_req_time = 0;
|
|
+ ecm_nss_ipv4_next_req_time = jiffies + ECM_NSS_IPV4_STATS_SYNC_PERIOD;
|
|
}
|
|
|
|
- if (ecm_nss_ipv4_next_req_time > current_jiffies) {
|
|
+ if (time_after(ecm_nss_ipv4_next_req_time, current_jiffies)) {
|
|
msleep_interruptible(jiffies_to_msecs(ecm_nss_ipv4_next_req_time - current_jiffies));
|
|
}
|
|
ecm_nss_ipv4_roll_check_jiffies = jiffies;
|
|
diff --git a/frontends/nss/ecm_nss_ipv6.c b/frontends/nss/ecm_nss_ipv6.c
|
|
index 288dc55..483421e 100644
|
|
--- a/frontends/nss/ecm_nss_ipv6.c
|
|
+++ b/frontends/nss/ecm_nss_ipv6.c
|
|
@@ -2135,10 +2135,10 @@ static void ecm_nss_ipv6_stats_sync_req_work(struct work_struct *work)
|
|
current_jiffies = jiffies;
|
|
|
|
if (time_is_after_jiffies(ecm_nss_ipv6_roll_check_jiffies)) {
|
|
- ecm_nss_ipv6_next_req_time = 0;
|
|
+ ecm_nss_ipv6_next_req_time = jiffies + ECM_NSS_IPV6_STATS_SYNC_PERIOD;
|
|
}
|
|
|
|
- if (ecm_nss_ipv6_next_req_time > current_jiffies) {
|
|
+ if (time_after(ecm_nss_ipv6_next_req_time, current_jiffies)) {
|
|
msleep_interruptible(jiffies_to_msecs(ecm_nss_ipv6_next_req_time - current_jiffies));
|
|
}
|
|
ecm_nss_ipv6_roll_check_jiffies = jiffies;
|
|
--
|
|
cgit v1.1
|
|
|