You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
watchdog: sp805: Set watchdog_device->timeout from ->set_timeout()
Implementation of ->set_timeout() is supposed to set 'timeout' field of 'struct watchdog_device' passed to it. sp805 was rather setting this in a local variable. Fix it. Reported-by: Arun Ramamurthy <arun.ramamurthy@broadcom.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Cc: <stable@vger.kernel.org> # 2.6.36+
This commit is contained in:
committed by
Wim Van Sebroeck
parent
d2deebabae
commit
938626d96a
@@ -59,7 +59,6 @@
|
|||||||
* @adev: amba device structure of wdt
|
* @adev: amba device structure of wdt
|
||||||
* @status: current status of wdt
|
* @status: current status of wdt
|
||||||
* @load_val: load value to be set for current timeout
|
* @load_val: load value to be set for current timeout
|
||||||
* @timeout: current programmed timeout
|
|
||||||
*/
|
*/
|
||||||
struct sp805_wdt {
|
struct sp805_wdt {
|
||||||
struct watchdog_device wdd;
|
struct watchdog_device wdd;
|
||||||
@@ -68,7 +67,6 @@ struct sp805_wdt {
|
|||||||
struct clk *clk;
|
struct clk *clk;
|
||||||
struct amba_device *adev;
|
struct amba_device *adev;
|
||||||
unsigned int load_val;
|
unsigned int load_val;
|
||||||
unsigned int timeout;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool nowayout = WATCHDOG_NOWAYOUT;
|
static bool nowayout = WATCHDOG_NOWAYOUT;
|
||||||
@@ -98,7 +96,7 @@ static int wdt_setload(struct watchdog_device *wdd, unsigned int timeout)
|
|||||||
spin_lock(&wdt->lock);
|
spin_lock(&wdt->lock);
|
||||||
wdt->load_val = load;
|
wdt->load_val = load;
|
||||||
/* roundup timeout to closest positive integer value */
|
/* roundup timeout to closest positive integer value */
|
||||||
wdt->timeout = div_u64((load + 1) * 2 + (rate / 2), rate);
|
wdd->timeout = div_u64((load + 1) * 2 + (rate / 2), rate);
|
||||||
spin_unlock(&wdt->lock);
|
spin_unlock(&wdt->lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user