summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>2025-07-01 12:27:38 +0530
committerCasey Connolly <casey.connolly@linaro.org>2025-07-14 15:35:24 +0200
commit9cd3118e4aa693caed6ee3fe8ef1e0b91f004484 (patch)
treec7dafbc03bf92a6e368d06b6e0e65175d3097de4
parentea166b1db189255669d2b24b118ed38aaae76a0f (diff)
watchdog: qcom-wdt: Drop read check on write-only WDT_EN register
On some Qualcomm platforms, such as Dragonwing boards, the WDT_EN register is write-only. Reading it back after enabling the watchdog can return invalid data or cause unexpected behavior. In particular, the check: if (readl(wdt_addr(wdt, WDT_EN)) != 1) may fail even though the watchdog is correctly enabled and running. This leads to misleading error messages and unnecessary failures. Removing the read check ensures compatibility and avoids false negatives on platforms where WDT_EN is not readable. This work builds upon this previous submission: https://lore.kernel.org/u-boot/20250625094607.1348494-1-gopinath.sekar@oss.qualcomm.com/ Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com> Reviewed-by: Stefan Roese <sr@denx.de> Link: https://lore.kernel.org/r/20250701065738.1644669-1-balaji.selvanathan@oss.qualcomm.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
-rw-r--r--drivers/watchdog/qcom-wdt.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c
index adbb5aacdc3..4b972cff72c 100644
--- a/drivers/watchdog/qcom-wdt.c
+++ b/drivers/watchdog/qcom-wdt.c
@@ -63,10 +63,7 @@ int qcom_wdt_start(struct udevice *dev, u64 timeout_ms, ulong flags)
writel(bark_timeout_s, wdt_addr(wdt, WDT_BARK_TIME));
writel(bite_timeout_s, wdt_addr(wdt, WDT_BITE_TIME));
writel(BIT(0), wdt_addr(wdt, WDT_EN));
- if (readl(wdt_addr(wdt, WDT_EN)) != 1) {
- dev_err(dev, "Failed to enable Qualcomm watchdog!\n");
- return -EIO;
- }
+
return 0;
}