Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aecd123f authored by Igor Pylypiv's avatar Igor Pylypiv Committed by Greg Kroah-Hartman
Browse files

watchdog: f71808e_wdt: Fix magic close handling



[ Upstream commit 7bd3e7b743956afbec30fb525bc3c5e22e3d475c ]

Watchdog close is "expected" when any byte is 'V' not just the last one.
Writing "V" to the device fails because the last byte is the end of string.

$ echo V > /dev/watchdog
f71808e_wdt: Unexpected close, not stopping watchdog!

Signed-off-by: default avatarIgor Pylypiv <igor.pylypiv@gmail.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 57a85742
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -566,7 +566,8 @@ static ssize_t watchdog_write(struct file *file, const char __user *buf,
				char c;
				char c;
				if (get_user(c, buf + i))
				if (get_user(c, buf + i))
					return -EFAULT;
					return -EFAULT;
				expect_close = (c == 'V');
				if (c == 'V')
					expect_close = true;
			}
			}


			/* Properly order writes across fork()ed processes */
			/* Properly order writes across fork()ed processes */