[PATCH V2] of: property: fw_devlink: fixup return value check of strcmp_suffix in parse_gpios

From: Li Chen
Date: Thu Jul 13 2023 - 06:47:49 EST


This commit addresses an issue where enabling fw_devlink=on was causing
a PCIe malfunction, resulting in endpoints missing.
After thorough investigation, it was determined that the root cause was
an incorrect usage of strcmp_suffix in parse_gpios.

Fixes: d473d32c2fba ("of: property: fw_devlink: do not link ".*,nr-gpios"")
Signed-off-by: Li Chen <lchen@xxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
changes:
v1->v2: add Cc stable

drivers/of/property.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/of/property.c b/drivers/of/property.c
index ddc75cd50825..261eb8f3be08 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1272,7 +1272,7 @@ DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells")
static struct device_node *parse_gpios(struct device_node *np,
const char *prop_name, int index)
{
- if (!strcmp_suffix(prop_name, ",nr-gpios"))
+ if (strcmp_suffix(prop_name, ",nr-gpios"))
return NULL;

return parse_suffix_prop_cells(np, prop_name, index, "-gpios",
--
2.34.1