Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1630069

[PATCH 2/2] rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL

From Moritz Fischer <mdf@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 2/2] rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL
Date 2017-04-25 00:10 +0200
Message-ID <tzUlb-4gQ-5@gated-at.bofh.it> (permalink)
References <tzUlb-4gQ-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Fix commit 920f91e50c5b ("drivers/rtc/rtc-ds1374.c: add watchdog support")

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.

Signed-off-by: Moritz Fischer <mdf@kernel.org>
---
 drivers/rtc/rtc-ds1374.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c
index 2a8b5b3..38a2e9e 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,
 		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;
-- 
2.7.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 2/2] rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL Moritz Fischer <mdf@kernel.org> - 2017-04-25 00:10 +0200
  Re: [PATCH 2/2] rtc: ds1374: wdt: Fix stop/start ioctl always  returning -EINVAL Alexandre Belloni <alexandre.belloni@free-electrons.com> - 2017-05-04 14:50 +0200

csiph-web