u-boot/test
Simon Glass 1e9ced28f1 dm: core: Don't allow uclass use before ready
At present it is possible to call uclass_get() before driver model is
inited. In fact this happens on x86 boards which use Intel FSPv1, since
mrccache_get_region() tries to get the SPI flash device very early
during init.

This has always been undefined behaviour. Previously it generally worked,
i.e. returned an error code without crashing, because gd->uclass_root_s
is zeroed and the uclass can be added despite driver model not being
ready, due to the way lists are implemented. With the change to use a
gd->uclass_root pointer, this no-longer works. For example, it causes a
hang on minnowmax.

Fix this by adding a check that driver model is ready when uclass_get() is
called. This function is called in the process of locating any device, so
it is a good place to add the check.

This fixes booting on minnowmax.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 8a715530bb ("dm: core: Allow the uclass list to move")
2021-08-08 11:27:27 -06:00
..
cmd test: cmd: setexpr: add format string tests 2021-07-27 17:56:13 -04:00
common sandbox: Reduce keyed autoboot delay 2021-08-01 09:05:24 -06:00
dm dm: core: Don't allow uclass use before ready 2021-08-08 11:27:27 -06:00
env sandbox: add test of CONFIG_ENV_IMPORT_FDT 2021-05-04 12:52:30 -04:00
fs Consistently use nproc for counting the CPUs 2020-01-30 13:30:35 -05:00
image sandbox: Support executables for more phases 2021-07-21 10:27:34 -06:00
lib test: Fix size_t formats in strlcat test 2021-07-27 10:34:27 +09:00
log log: Allow padding of the function name 2021-07-21 10:27:35 -06:00
optee test: Add a macros for finding tests in linker_lists 2021-03-12 09:57:30 -05:00
overlay test: Add a macros for finding tests in linker_lists 2021-03-12 09:57:30 -05:00
py sandbox: tpm: Support extending a PCR multiple times 2021-08-01 09:05:24 -06:00
stdint Remove <inttypes.h> includes and PRI* usages in printf() entirely 2018-09-10 20:48:17 -04:00
trace SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bloblist.c bloblist: Correct condition in bloblist_addrec() 2021-07-21 10:27:34 -06:00
bootm.c test: Add a macros for finding tests in linker_lists 2021-03-12 09:57:30 -05:00
cmd_ut.c test: add first autoboot unit tests 2021-07-23 13:36:20 -04:00
command_ut.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
common.sh Consistently use nproc for counting the CPUs 2020-01-30 13:30:35 -05:00
compression.c test: Add a macros for finding tests in linker_lists 2021-03-12 09:57:30 -05:00
Kconfig lib: add crypt subsystem 2021-07-23 13:36:14 -04:00
Makefile test: add first autoboot unit tests 2021-07-23 13:36:20 -04:00
nokia_rx51_test.sh Nokia RX-51: Add check for /lib/ld-linux.so.2 in test script 2021-07-15 17:56:05 +05:30
print_ut.c display_options: Split print_buffer() into two functions 2021-06-08 11:39:09 -04:00
run test: Run sandbox_spl tests on sandbox_noinst 2021-03-26 17:03:09 +13:00
str_ut.c lib: Allow using 0x when a decimal value is requested 2021-08-02 13:32:14 -04:00
test-main.c test: Avoid a build error with SPL 2021-07-21 10:27:34 -06:00
time_ut.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
unicode_ut.c Prepare v2021.04-rc4 2021-03-15 12:15:38 -04:00
ut.c display_options: Drop two spaces before the ASCII column 2021-06-08 11:39:09 -04:00