On 1/4/24 13:28, Weizhao Ouyang wrote:
On Thu, Jan 4, 2024 at 8:21 PM Michal Simek <michal.si...@amd.com> wrote:



On 1/4/24 13:15, Weizhao Ouyang wrote:
On Thu, Jan 4, 2024 at 8:00 PM Michal Simek <michal.si...@amd.com> wrote:



On 1/4/24 12:46, Weizhao Ouyang wrote:
Handle the return value of spi_flash_probe_bus_cs() to avoid sf probe
crashes.

Signed-off-by: Weizhao Ouyang <o451686...@gmail.com>
---
    cmd/sf.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/cmd/sf.c b/cmd/sf.c
index 730996c02b..e3866899f6 100644
--- a/cmd/sf.c
+++ b/cmd/sf.c
@@ -135,8 +135,9 @@ static int do_spi_flash_probe(int argc, char *const argv[])
        }
        flash = NULL;
        if (use_dt) {
-             spi_flash_probe_bus_cs(bus, cs, &new);
-             flash = dev_get_uclass_priv(new);
+             ret = spi_flash_probe_bus_cs(bus, cs, &new);

if (ret)
          return ret;

don't you want to rather propagate that error?


Well, since the spi_flash is empty, the following code will
print the error message and return.

And you return 0 which means everything is fine. But is everything fine in this
case? Or do you want to see the error?

This is command it means you can simply use && and if previous command succeed
you can call something else.


Hi Michal,

Please check the code that follows this commit snippet:

if (!flash) {
     printf("Failed to initialize SPI flash at %u:%u (error %d)\n",
         bus, cs, ret);
     return 1;
}

it will print the error and return 1 as the return value.

ok. Then good.

Acked-by: Michal Simek <michal.si...@amd.com>

Thanks,
Michal

Reply via email to