[PATCH v1] driver core: fw_devlink: Avoid spurious error message

Saravana Kannan posted 1 patch 2 years, 6 months ago
drivers/base/core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH v1] driver core: fw_devlink: Avoid spurious error message
Posted by Saravana Kannan 2 years, 6 months ago
fw_devlink can sometimes try to create a device link with the consumer
and supplier as the same device. These attempts will fail (correctly),
but are harmless. So, avoid printing an error for these cases. Also, add
more detail to the error message.

Fixes: 3fb16866b51d ("driver core: fw_devlink: Make cycle detection more robust")
Reported-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reported-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Saravana Kannan <saravanak@google.com>
---
 drivers/base/core.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index f9297c68214a..4f02a10f802f 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -2088,9 +2088,9 @@ static int fw_devlink_create_devlink(struct device *con,
 			goto out;
 		}
 
-		if (!device_link_add(con, sup_dev, flags)) {
-			dev_err(con, "Failed to create device link with %s\n",
-				dev_name(sup_dev));
+		if (con != sup_dev && !device_link_add(con, sup_dev, flags)) {
+			dev_err(con, "Failed to create device link (0x%x) with %s\n",
+				flags, dev_name(sup_dev));
 			ret = -EINVAL;
 		}
 
-- 
2.39.2.637.g21b0678d19-goog
Re: [PATCH v1] driver core: fw_devlink: Avoid spurious error message
Posted by Rafael J. Wysocki 2 years, 6 months ago
On Sat, Feb 25, 2023 at 7:41 AM Saravana Kannan <saravanak@google.com> wrote:
>
> fw_devlink can sometimes try to create a device link with the consumer
> and supplier as the same device. These attempts will fail (correctly),
> but are harmless. So, avoid printing an error for these cases. Also, add
> more detail to the error message.
>
> Fixes: 3fb16866b51d ("driver core: fw_devlink: Make cycle detection more robust")
> Reported-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> Reported-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Saravana Kannan <saravanak@google.com>

Acked-by: Rafael J. Wysocki <rafael@kernel.org>

> ---
>  drivers/base/core.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index f9297c68214a..4f02a10f802f 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -2088,9 +2088,9 @@ static int fw_devlink_create_devlink(struct device *con,
>                         goto out;
>                 }
>
> -               if (!device_link_add(con, sup_dev, flags)) {
> -                       dev_err(con, "Failed to create device link with %s\n",
> -                               dev_name(sup_dev));
> +               if (con != sup_dev && !device_link_add(con, sup_dev, flags)) {
> +                       dev_err(con, "Failed to create device link (0x%x) with %s\n",
> +                               flags, dev_name(sup_dev));
>                         ret = -EINVAL;
>                 }
>
> --
> 2.39.2.637.g21b0678d19-goog
>