[PATCH v2] edac: fix period calculation in edac_device_reset_delay_period()

From: Eliav Farber
Date: Thu Oct 20 2022 - 08:45:14 EST


Fix period calculation in case user sets a value of 1000.
The input of round_jiffies_relative() should be in jiffies and not in
milli-seconds.

Signed-off-by: Eliav Farber <farbere@xxxxxxxxxx>
---
v2 --> v1:
- Fix the bug without modifying jiffs which is used to set
edac_dev->delay.

drivers/edac/edac_device.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/edac/edac_device.c b/drivers/edac/edac_device.c
index 19522c568aa5..e944dd9b3593 100644
--- a/drivers/edac/edac_device.c
+++ b/drivers/edac/edac_device.c
@@ -398,13 +398,13 @@ void edac_device_reset_delay_period(struct edac_device_ctl_info *edac_dev,
{
unsigned long jiffs = msecs_to_jiffies(value);

- if (value == 1000)
- jiffs = round_jiffies_relative(value);
-
edac_dev->poll_msec = value;
edac_dev->delay = jiffs;

- edac_mod_work(&edac_dev->work, jiffs);
+ if (value == 1000)
+ edac_mod_work(&edac_dev->work, round_jiffies_relative(jiffs));
+ else
+ edac_mod_work(&edac_dev->work, jiffs);
}

int edac_device_alloc_index(void)
--
2.37.1