diff options
author | Patrick Delaunay <patrick.delaunay@foss.st.com> | 2021-10-22 17:05:47 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-10-26 15:26:45 -0400 |
commit | 70a9f4d25b4383c22b74a6a4354927644392debb (patch) | |
tree | 18e7c7b88baaa6680219b9f17468c9198f70bd1b /lib | |
parent | 5d39c9324418405d75c0428ab12e3267afcc8c7e (diff) | |
download | u-boot-70a9f4d25b4383c22b74a6a4354927644392debb.tar.gz u-boot-70a9f4d25b4383c22b74a6a4354927644392debb.tar.bz2 u-boot-70a9f4d25b4383c22b74a6a4354927644392debb.zip |
lib: uuid: fix the test on RNG device presence
Correct the test on RNG device presence,when ret is equal to 0,
before to call dm_rng_read function.
Without this patch the RNG device is not used when present (when ret == 0)
or a data abort occurs in dm_rng_read when CONFIG_DM_RNG is activated but
the RNG device is not present in device tree (ret != 0 and devp = NULL).
Fixes: 92fdad28cfdf ("lib: uuid: use RNG device if present")
CC: Matthias Brugger <mbrugger@suse.com>
CC: Torsten Duwe <duwe@suse.de>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/uuid.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/uuid.c b/lib/uuid.c index 67267c66a3..e4703dce2b 100644 --- a/lib/uuid.c +++ b/lib/uuid.c @@ -257,7 +257,7 @@ void gen_rand_uuid(unsigned char *uuid_bin) if (IS_ENABLED(CONFIG_DM_RNG)) { ret = uclass_get_device(UCLASS_RNG, 0, &devp); - if (ret) { + if (!ret) { ret = dm_rng_read(devp, &randv, sizeof(randv)); if (ret < 0) randv = 0; |