[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210710103819.12532-2-adrian.hunter@intel.com>
Date: Sat, 10 Jul 2021 13:38:17 +0300
From: Adrian Hunter <adrian.hunter@...el.com>
To: "Rafael J . Wysocki" <rafael@...nel.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Saravana Kannan <saravanak@...gle.com>,
"Martin K . Petersen" <martin.petersen@...cle.com>,
"James E . J . Bottomley" <jejb@...ux.ibm.com>,
linux-scsi@...r.kernel.org, Avri Altman <avri.altman@....com>,
Bean Huo <huobean@...il.com>, Can Guo <cang@...eaurora.org>,
Asutosh Das <asutoshd@...eaurora.org>,
Bart Van Assche <bvanassche@....org>,
linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH V3 1/3] driver core: Prevent warning when removing a device link from unregistered consumer
sysfs_remove_link() causes a warning if the parent directory does not
exist. That can happen if the device link consumer has not been registered.
So do not attempt sysfs_remove_link() in that case.
Fixes: 287905e68dd29 ("driver core: Expose device link details in sysfs")
Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
---
drivers/base/core.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index ea5b85354526..2de8f7d8cf54 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -575,8 +575,10 @@ static void devlink_remove_symlinks(struct device *dev,
return;
}
- snprintf(buf, len, "supplier:%s:%s", dev_bus_name(sup), dev_name(sup));
- sysfs_remove_link(&con->kobj, buf);
+ if (device_is_registered(con)) {
+ snprintf(buf, len, "supplier:%s:%s", dev_bus_name(sup), dev_name(sup));
+ sysfs_remove_link(&con->kobj, buf);
+ }
snprintf(buf, len, "consumer:%s:%s", dev_bus_name(con), dev_name(con));
sysfs_remove_link(&sup->kobj, buf);
kfree(buf);
--
2.17.1
Powered by blists - more mailing lists