When no action is specified on the command line, print the usage help text and exit with failure instead of SIGABRT. Fix some typos on the usage text. Keep the abort() call in places where they can only be reached by expanding the tool and forgetting to handle new parameters, with an error message printed. CC: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Signed-off-by: Petri Latvala <petri.latvala@xxxxxxxxx> --- tools/intel_l3_parity.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/intel_l3_parity.c b/tools/intel_l3_parity.c index eb00c50..1a4fae5 100644 --- a/tools/intel_l3_parity.c +++ b/tools/intel_l3_parity.c @@ -172,9 +172,9 @@ static void usage(const char *name) " -l, --list List the current L3 logs\n" " -a, --clear-all Clear all disabled rows\n" " -e, --enable Enable row, bank, subbank (undo -d)\n" - " -d, --disable=<row,bank,subbank> Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead\n" - " -i, --inject [HSW only] Cause hardware to inject a row errors\n" - " -u, --uninject [HSW only] Turn off hardware error injectection (undo -i)\n" + " -d, --disable=<row,bank,subbank> Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead)\n" + " -i, --inject [HSW only] Cause hardware to inject a row error\n" + " -u, --uninject [HSW only] Turn off hardware error injection (undo -i)\n" " -L, --listen Listen for uevent errors\n", name); } @@ -301,6 +301,7 @@ int main(int argc, char *argv[]) action = c; break; default: + fprintf(stderr, "Internal error: Unhandled flag %c\n", c); abort(); } } @@ -374,7 +375,12 @@ int main(int argc, char *argv[]) break; case 'L': break; + case '0': + /* No action given */ + usage(argv[0]); + exit(EXIT_FAILURE); default: + fprintf(stderr, "Internal error: Unhandled action %d\n", action); abort(); } } -- 2.9.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx