| From foo@baz Thu Mar 22 14:57:32 CET 2018 |
| From: Moritz Fischer <mdf@kernel.org> |
| Date: Mon, 24 Apr 2017 15:05:12 -0700 |
| Subject: rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL |
| |
| From: Moritz Fischer <mdf@kernel.org> |
| |
| |
| [ Upstream commit 538c08f4c89580fc644e2bc64e0a4b86c925da4e ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/rtc/rtc-ds1374.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/rtc/rtc-ds1374.c |
| +++ b/drivers/rtc/rtc-ds1374.c |
| @@ -548,14 +548,15 @@ static long ds1374_wdt_ioctl(struct file |
| if (options & WDIOS_DISABLECARD) { |
| pr_info("disable watchdog\n"); |
| ds1374_wdt_disable(); |
| + return 0; |
| } |
| |
| if (options & WDIOS_ENABLECARD) { |
| pr_info("enable watchdog\n"); |
| ds1374_wdt_settimeout(wdt_margin); |
| ds1374_wdt_ping(); |
| + return 0; |
| } |
| - |
| return -EINVAL; |
| } |
| return -ENOTTY; |