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 <[email protected]>
Signed-off-by: Petri Latvala <[email protected]>
---
 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to