cmd: rng: Print "Abort" on -EINTR
authorMarek Behún <kabel@kernel.org>
Thu, 4 Apr 2024 07:51:05 +0000 (09:51 +0200)
committerStefan Roese <sr@denx.de>
Thu, 4 Apr 2024 08:45:27 +0000 (10:45 +0200)
In the rng command, print
  Abort
instead of
  Reading RNG failed
if the error number is -EINTR, which can happen if the user pressed
CTRL-C.

Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
cmd/rng.c

index b073a6c..e5ab868 100644 (file)
--- a/cmd/rng.c
+++ b/cmd/rng.c
@@ -17,7 +17,7 @@ static int do_rng(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
        u8 buf[64];
        int devnum;
        struct udevice *dev;
-       int ret = CMD_RET_SUCCESS;
+       int ret = CMD_RET_SUCCESS, err;
 
        if (argc == 2 && !strcmp(argv[1], "list")) {
                int idx = 0;
@@ -62,8 +62,9 @@ static int do_rng(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
        n = min(n, sizeof(buf));
 
-       if (dm_rng_read(dev, buf, n)) {
-               printf("Reading RNG failed\n");
+       err = dm_rng_read(dev, buf, n);
+       if (err) {
+               puts(err == -EINTR ? "Abort\n" : "Reading RNG failed\n");
                ret = CMD_RET_FAILURE;
        } else {
                print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, buf, n);