watchdog: jz4740_wdt - fix magic character checking
When writing to /dev/watchdog all characters should be checked for the magic character 'V'. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
f865c35224
commit
742e4b6308
1 changed files with 11 additions and 4 deletions
|
@ -130,11 +130,18 @@ static ssize_t jz4740_wdt_write(struct file *file, const char *data,
|
||||||
size_t len, loff_t *ppos)
|
size_t len, loff_t *ppos)
|
||||||
{
|
{
|
||||||
if (len) {
|
if (len) {
|
||||||
if (data[len-1] == 'V')
|
size_t i;
|
||||||
set_bit(WDT_OK_TO_CLOSE, &jz4740_wdt.status);
|
|
||||||
else
|
|
||||||
clear_bit(WDT_OK_TO_CLOSE, &jz4740_wdt.status);
|
|
||||||
|
|
||||||
|
clear_bit(WDT_OK_TO_CLOSE, &jz4740_wdt.status);
|
||||||
|
for (i = 0; i != len; i++) {
|
||||||
|
char c;
|
||||||
|
|
||||||
|
if (get_user(c, data + i))
|
||||||
|
return -EFAULT;
|
||||||
|
|
||||||
|
if (c == 'V')
|
||||||
|
set_bit(WDT_OK_TO_CLOSE, &jz4740_wdt.status);
|
||||||
|
}
|
||||||
jz4740_wdt_service();
|
jz4740_wdt_service();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue