From f8f92c072e6f1e694c13d432bdbdbcbf138c31ad Mon Sep 17 00:00:00 2001 From: Eugeniu Rosca Date: Sat, 1 Jul 2017 14:57:29 +0200 Subject: selftests: watchdog: avoid keepalive flood Calling `watchdog-test [options] -p 0` results in flooding the kernel with WDIOC_KEEPALIVE. Fix this by enforcing 1 second as minimal/default keepalive/ping rate. Signed-off-by: Eugeniu Rosca Signed-off-by: Shuah Khan --- tools/testing/selftests/watchdog/watchdog-test.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tools/testing/selftests/watchdog') diff --git a/tools/testing/selftests/watchdog/watchdog-test.c b/tools/testing/selftests/watchdog/watchdog-test.c index 41f40c3c4d95..9b34b319fc91 100644 --- a/tools/testing/selftests/watchdog/watchdog-test.c +++ b/tools/testing/selftests/watchdog/watchdog-test.c @@ -14,6 +14,8 @@ #include #include +#define DEFAULT_PING_RATE 1 + int fd; const char v = 'V'; static const char sopts[] = "dehp:t:"; @@ -64,7 +66,7 @@ static void usage(char *progname) printf(" -d, --disable Turn off the watchdog timer\n"); printf(" -e, --enable Turn on the watchdog timer\n"); printf(" -h, --help Print the help message\n"); - printf(" -p, --pingrate=P Set ping rate to P seconds\n"); + printf(" -p, --pingrate=P Set ping rate to P seconds (default %d)\n", DEFAULT_PING_RATE); printf(" -t, --timeout=T Set timeout to T seconds\n"); printf("\n"); printf("Parameters are parsed left-to-right in real-time.\n"); @@ -74,7 +76,7 @@ static void usage(char *progname) int main(int argc, char *argv[]) { int flags; - unsigned int ping_rate = 1; + unsigned int ping_rate = DEFAULT_PING_RATE; int ret; int c; @@ -107,6 +109,8 @@ int main(int argc, char *argv[]) break; case 'p': ping_rate = strtoul(optarg, NULL, 0); + if (!ping_rate) + ping_rate = DEFAULT_PING_RATE; printf("Watchdog ping rate set to %u seconds.\n", ping_rate); break; case 't': -- cgit v1.2.3-59-g8ed1b