On 9/25/25 1:56 PM, Andrew Goodbody wrote:
fsl_fdt_fixup_usb_erratum uses strcmp to detect an error but then
returns 'err' without it being set to an error. Calling code may not
detect that an error occurred leading to a silent failure. Instead just
return -EINVAL.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <[email protected]>
---
  drivers/usb/common/fsl-dt-fixup.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/common/fsl-dt-fixup.c 
b/drivers/usb/common/fsl-dt-fixup.c
index 6a68bd76c27..55176f7a871 100644
--- a/drivers/usb/common/fsl-dt-fixup.c
+++ b/drivers/usb/common/fsl-dt-fixup.c
@@ -99,7 +99,7 @@ static int fsl_fdt_fixup_usb_erratum(void *blob, const char 
*prop_erratum,
        else
                node_name = node_type;
        if (strcmp(node_name, controller_type))
-               return err;
+               return -EINVAL;
err = fdt_setprop(blob, node_offset, prop_erratum, NULL, 0);
        if (err < 0) {
+CC NXP person.

The change does look valid.

Reply via email to