lkml.org 
[lkml]   [2019]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.1 068/155] watchdog: imx2_wdt: Fix set_timeout for big timeout values
    Date
    [ Upstream commit b07e228eee69601addba98b47b1a3850569e5013 ]

    The documentated behavior is: if max_hw_heartbeat_ms is implemented, the
    minimum of the set_timeout argument and max_hw_heartbeat_ms should be used.
    This patch implements this behavior.
    Previously only the first 7bits were used and the input argument was
    returned.

    Signed-off-by: Georg Hofmann <georg@hofmannsweb.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/watchdog/imx2_wdt.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c
    index 2b52514eaa86..7e7bdcbbc741 100644
    --- a/drivers/watchdog/imx2_wdt.c
    +++ b/drivers/watchdog/imx2_wdt.c
    @@ -178,8 +178,10 @@ static void __imx2_wdt_set_timeout(struct watchdog_device *wdog,
    static int imx2_wdt_set_timeout(struct watchdog_device *wdog,
    unsigned int new_timeout)
    {
    - __imx2_wdt_set_timeout(wdog, new_timeout);
    + unsigned int actual;

    + actual = min(new_timeout, wdog->max_hw_heartbeat_ms * 1000);
    + __imx2_wdt_set_timeout(wdog, actual);
    wdog->timeout = new_timeout;
    return 0;
    }
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-06-13 18:02    [W:4.133 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site