From bb9ec6421492cd1b49477d09747ed71f6524ff2d Mon Sep 17 00:00:00 2001 From: Gaurav Kohli Date: Thu, 26 Nov 2020 16:46:34 +0530 Subject: [PATCH] soc: qcom: Initialize the irq count work item Initialize the irq count work and also using irqf no suspend flag during bark irq registration. Change-Id: Ice72c4e5aff2bcdbba5d53eb1c839a2f86a2fd02 Signed-off-by: Gaurav Kohli --- drivers/soc/qcom/qcom_wdt_core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/soc/qcom/qcom_wdt_core.c b/drivers/soc/qcom/qcom_wdt_core.c index 87a6aa2bf3c9..d3d801633c83 100644 --- a/drivers/soc/qcom/qcom_wdt_core.c +++ b/drivers/soc/qcom/qcom_wdt_core.c @@ -864,14 +864,15 @@ static int qcom_wdt_init(struct msm_watchdog_data *wdog_dd, } else { ret = devm_request_irq(wdog_dd->dev, wdog_dd->bark_irq, qcom_wdt_bark_handler, - IRQF_TRIGGER_RISING, + IRQF_TRIGGER_RISING | IRQF_NO_SUSPEND, "apps_wdog_bark", wdog_dd); if (ret) { dev_err(wdog_dd->dev, "failed to request bark irq: %d\n", ret); return -EINVAL; } } - + INIT_WORK(&wdog_dd->irq_counts_work, compute_irq_stat); + atomic_set(&wdog_dd->irq_counts_running, 0); delay_time = msecs_to_jiffies(wdog_dd->pet_time); wdog_dd->ops->set_bark_time(wdog_dd->bark_time, wdog_dd); wdog_dd->ops->set_bite_time(wdog_dd->bark_time + 3 * 1000, wdog_dd);