diff options
author | Moritz Fischer <mdf@kernel.org> | 2017-04-24 18:05:12 -0400 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2017-05-04 08:46:25 -0400 |
commit | 538c08f4c89580fc644e2bc64e0a4b86c925da4e (patch) | |
tree | dc438ec168a2b840151df09f631d8ab06b753d2b /drivers/rtc | |
parent | 453d0744f6c6ca3f9749b8c57c2e85b5b9f52514 (diff) |
rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL
The WDIOC_SETOPTIONS case in the watchdog ioctl would alwayss falls
through to the -EINVAL case. This is wrong since thew watchdog does
actually get stopped or started correctly.
Fixes: 920f91e50c5b ("drivers/rtc/rtc-ds1374.c: add watchdog support")
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-ds1374.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c index 2a8b5b3e429b..38a2e9e684df 100644 --- a/drivers/rtc/rtc-ds1374.c +++ b/drivers/rtc/rtc-ds1374.c | |||
@@ -546,14 +546,15 @@ static long ds1374_wdt_ioctl(struct file *file, unsigned int cmd, | |||
546 | if (options & WDIOS_DISABLECARD) { | 546 | if (options & WDIOS_DISABLECARD) { |
547 | pr_info("disable watchdog\n"); | 547 | pr_info("disable watchdog\n"); |
548 | ds1374_wdt_disable(); | 548 | ds1374_wdt_disable(); |
549 | return 0; | ||
549 | } | 550 | } |
550 | 551 | ||
551 | if (options & WDIOS_ENABLECARD) { | 552 | if (options & WDIOS_ENABLECARD) { |
552 | pr_info("enable watchdog\n"); | 553 | pr_info("enable watchdog\n"); |
553 | ds1374_wdt_settimeout(wdt_margin); | 554 | ds1374_wdt_settimeout(wdt_margin); |
554 | ds1374_wdt_ping(); | 555 | ds1374_wdt_ping(); |
556 | return 0; | ||
555 | } | 557 | } |
556 | |||
557 | return -EINVAL; | 558 | return -EINVAL; |
558 | } | 559 | } |
559 | return -ENOTTY; | 560 | return -ENOTTY; |