forked from luck/tmp_suning_uos_patched
watchdog: introduce watchdog_worker_should_ping helper
This will be useful when the condition becomes slightly more complicated in the next patch. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Esben Haabendal <esben@haabendal.dk> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
e7bf02895f
commit
c013b65ad8
|
@ -195,18 +195,23 @@ static int watchdog_ping(struct watchdog_device *wdd)
|
|||
return __watchdog_ping(wdd);
|
||||
}
|
||||
|
||||
static bool watchdog_worker_should_ping(struct watchdog_core_data *wd_data)
|
||||
{
|
||||
struct watchdog_device *wdd = wd_data->wdd;
|
||||
|
||||
return wdd && (watchdog_active(wdd) || watchdog_hw_running(wdd));
|
||||
}
|
||||
|
||||
static void watchdog_ping_work(struct work_struct *work)
|
||||
{
|
||||
struct watchdog_core_data *wd_data;
|
||||
struct watchdog_device *wdd;
|
||||
|
||||
wd_data = container_of(to_delayed_work(work), struct watchdog_core_data,
|
||||
work);
|
||||
|
||||
mutex_lock(&wd_data->lock);
|
||||
wdd = wd_data->wdd;
|
||||
if (wdd && (watchdog_active(wdd) || watchdog_hw_running(wdd)))
|
||||
__watchdog_ping(wdd);
|
||||
if (watchdog_worker_should_ping(wd_data))
|
||||
__watchdog_ping(wd_data->wdd);
|
||||
mutex_unlock(&wd_data->lock);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user