• Guenter Roeck's avatar
    watchdog: Fix kref imbalance seen if handle_boot_enabled=0 · 914d65f3
    Guenter Roeck authored
    If handle_boot_enabled is set to 0, the watchdog driver module use
    counter will not be increased and kref_get() will not be called when
    registering the watchdog. Subsequently, on open, this does not happen
    either because the code believes that it was already done because the
    hardware watchdog is marked as running.
    
    We could introduce a state variable to indicate this state, but let's
    just increase the module use counter and call kref_get() unconditionally
    if the hardware watchdog is running when a driver is registering itself
    to keep the code simple.
    
    Fixes: 2501b015 ("watchdog: core: add option to avoid early ...")
    Cc: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
    Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
    914d65f3
watchdog_dev.c 28.6 KB