watchdog: Handle timer wrap around
authorChris Packham <judge.packham@gmail.com>
Mon, 24 Feb 2020 00:20:33 +0000 (13:20 +1300)
committerStefan Roese <sr@denx.de>
Mon, 16 Mar 2020 10:25:12 +0000 (11:25 +0100)
commit6d8eae9ab7d17ca3ce84c5e6e29bd452936ad407
tree0510515378f74c4c4687819e1babfd531fdb5254
parented666fb12910f46cff73a3869058ea59aef4261b
watchdog: Handle timer wrap around

On some platforms/architectures the value from get_timer() can wrap.
This is particularly problematic when long-running code needs to measure
a time difference as is the case with watchdog_reset() which tries to
avoid tickling the watchdog too frequently.

Use time_after() from time.h instead of a plain > comparison to avoid
any issues with the time wrapping on a system that has been sitting in
u-boot for a long time.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
drivers/watchdog/wdt-uclass.c