[PATCH] watchdog: imx2_wdg: Save the actual timeout value
Guenter Roeck
linux at roeck-us.net
Sat Jun 15 09:34:16 PDT 2024
On 6/15/24 09:21, Guenter Roeck wrote:
> On 6/15/24 08:51, L.Q wrote:
>> Step 1:
>> Call imx2_wdt_set_timeout with a timeout value greater than 128
>> This illegal value will be stored in wdog->timeout
>
> This is not an illegal value because the driver sets max_hw_heartbeat_ms
> which lets the watchdog core handle timeout values exceeding the maximum
> timeout supported by the chip.
>
From Documentation/watchdog/watchdog-kernel-api.rst:
* set_timeout: this routine checks and changes the timeout of the watchdog
timer device. It returns 0 on success, -EINVAL for "parameter out of range"
and -EIO for "could not write value to the watchdog". On success this
routine should set the timeout value of the watchdog_device to the
achieved timeout value (which may be different from the requested one
because the watchdog does not necessarily have a 1 second resolution).
Drivers implementing max_hw_heartbeat_ms set the hardware watchdog heartbeat
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
to the minimum of timeout and max_hw_heartbeat_ms. Those drivers set the
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
timeout value of the watchdog_device either to the requested timeout value
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(if it is larger than max_hw_heartbeat_ms), or to the achieved timeout value.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If any of this is difficult to understand, please feel free to suggest
a better wording.
Thanks,
Guenter
More information about the linux-arm-kernel
mailing list