Re: [PATCH v2 5/7] Watchdog: introduce "pretimeout" into framework
From: Fu Wei <hidden>
Date: 2015-05-25 03:09:03
Also in:
linux-watchdog, lkml
Hi Guenter, Great thanks for your suggestion, I have put this kind of validation into watchdog_pretimeout_invalid and watchdog_timeout_invalid. So : (1) set_timeout(10); ------> if this setting is successful set_pretimeout(20); -----> return fail (-EINVAL) (2) set_timeout(10); ------> if this setting is successful set_pretimeout(10); -----> return fail (-EINVAL) this kind of situation will not result in an invalid / unexpected timeout value. you will see this change in my next patchset On 21 May 2015 at 23:32, Guenter Roeck [off-list ref] wrote:
On Thu, May 21, 2015 at 04:32:34PM +0800, fu.wei-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org wrote:quoted
From: Fu Wei <redacted> Also update Documentation/watchdog/watchdog-kernel-api.txt to introduce: (1)the new elements in the watchdog_device and watchdog_ops struct; (2)the new API "watchdog_init_timeouts". Reasons: (1)kernel already has two watchdog drivers are using "pretimeout": drivers/char/ipmi/ipmi_watchdog.c drivers/watchdog/kempld_wdt.c(but the definition is different) (2)some other dirvers are going to use this: ARM SBSA Generic Watchdog Signed-off-by: Fu Wei <redacted> ---[ ... ]quoted
+/* Use the following function to check if a pretimeout value is invalid */ +static inline bool watchdog_pretimeout_invalid(struct watchdog_device *wdd, + unsigned int t) +{ + return ((wdd->max_pretimeout != 0) && + (t < wdd->min_pretimeout || t > wdd->max_pretimeout)); +}Should this function also enforce "t < wdd->timeout", and should watchdog_timeout_invalid() enforce "t > wdd->pretimeout" ? Thanks, Guenter
-- Best regards, Fu Wei Software Engineer Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch Ph: +86 21 61221326(direct) Ph: +86 186 2020 4684 (mobile) Room 1512, Regus One Corporate Avenue,Level 15, One Corporate Avenue,222 Hubin Road,Huangpu District, Shanghai,China 200021 -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html