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

From: Li Chen
Date: Fri Jul 14 2023 - 04:38:43 EST


Hi Rob,
---- On Fri, 14 Jul 2023 00:45:24 +0800 Rob Herring wrote ---
> On Thu, Jul 13, 2023 at 4:47 AM Li Chen me@linux.beauty> wrote:
> >
> > 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"))
>
> strcmp returns 0 when there is a match. When we match ",nr-gpios", we
> want to bail out. The existing code was correct. Your patch just
> disables fw_devlink for all GPIO dependencies.

Yes, your are correct, thanks!

Regards,
Li