From: Quentin Schulz <[email protected]> This reverts commit ef06c5d76ff46d488df201cc679f148b0140fd7a.
The args support for the sysreset uclass contains a logic bug. The first sysreset device implementing the request_arg callback will consume the args, not support the specified arg and thus return -EPROTONOSUPPORT which will stop the iteration over all sysreset devices. This is an issue if one has multiple sysreset devices and each with support for different (valid) args. If a sysreset device implements a -dummy argument and another -foo and one calls reset -dummy on the U-Boot CLI, it'll depend on which sysreset device will be attempted first. If it is the one implementing -foo, it'll return it doesn't support the argument with -EPROTONOSUPPORT in which case the device implementing -dummy will never be attempted and instead we'll do a cold reset which is very likely not what's expected. Signed-off-by: Quentin Schulz <[email protected]> --- cmd/boot.c | 3 --- doc/usage/cmd/reset.rst | 2 -- 2 files changed, 5 deletions(-) diff --git a/cmd/boot.c b/cmd/boot.c index d80f9d8c05dd..23496cafdf5c 100644 --- a/cmd/boot.c +++ b/cmd/boot.c @@ -60,9 +60,6 @@ U_BOOT_CMD( reset, 2, 0, do_reset, "Perform RESET of the CPU", "- cold boot without level specifier\n" -#ifdef CONFIG_SYSRESET_QCOM_PSCI - "reset -edl - Boot to Emergency DownLoad mode\n" -#endif "reset -w - warm reset if implemented" ); diff --git a/doc/usage/cmd/reset.rst b/doc/usage/cmd/reset.rst index 88261293924f..78c9c8873bc9 100644 --- a/doc/usage/cmd/reset.rst +++ b/doc/usage/cmd/reset.rst @@ -22,8 +22,6 @@ DDR and peripherals, on some boards also resets external PMIC. -w Do WARM reset: reset CPU but keep peripheral/DDR/PMIC active. --edl - Boot to Emergency DownLoad mode on supported Qualcomm platforms. Return value ------------ -- 2.55.0

