xilinx: zynqmp: Do not check 0 as invalid return from snprintf
authorMichal Simek <michal.simek@xilinx.com>
Wed, 21 Oct 2020 10:17:44 +0000 (12:17 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 27 Oct 2020 07:13:33 +0000 (08:13 +0100)
U-Boot SPL on ZynqMP is using CONFIG_SPL_USE_TINY_PRINTF which doesn't
return any return value and all the time returns 0. That's why
even correct snprintf was returning in SPL chip ID as "unknown".
Change checking condition and allow snprintf to return 0 which is according
manual patch successful return.
"If an output error is encountered, a negative value is returned."

Fixes: 43a138956f7e ("arm64: zynqmp: Get rid of simple_itoa and replace it by snprintf")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/zynqmp/zynqmp.c

index 7ba2c78..c4f2498 100644 (file)
@@ -223,7 +223,7 @@ static char *zynqmp_get_silicon_idcode_name(void)
        /* Add device prefix to the name */
        ret = snprintf(name, ZYNQMP_VERSION_SIZE, "zu%d",
                       zynqmp_devices[i].device);
-       if (ret <= 0)
+       if (ret < 0)
                return "unknown";
 
        if (zynqmp_devices[i].variants & ZYNQMP_VARIANT_EV) {