From: Patrick Delaunay Date: Fri, 22 Oct 2021 15:05:47 +0000 (+0200) Subject: lib: uuid: fix the test on RNG device presence X-Git-Url: http://git.dujemihanovic.xyz/html/index.html?a=commitdiff_plain;h=70a9f4d25b4383c22b74a6a4354927644392debb;p=u-boot.git 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 CC: Torsten Duwe Signed-off-by: Patrick Delaunay Reviewed-by: Simon Glass --- 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;