From: Parav Pandit <parav@mellanox.com>
Date: Tue, 21 Jul 2020 19:53:51 +0300
Subject: devlink: Do not hold devlink mutex when initializing devlink fields
Patch-mainline: v5.9-rc1
Git-commit: 6553e561cadc0ec966ce2f039965a99a7502e19b
References: bsc#1176447
There is no need to hold a device global lock when initializing
devlink device fields of a devlink instance which is not yet part of the
devices list.
Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
net/core/devlink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -7433,9 +7433,9 @@ EXPORT_SYMBOL_GPL(devlink_alloc);
*/
int devlink_register(struct devlink *devlink, struct device *dev)
{
- mutex_lock(&devlink_mutex);
devlink->dev = dev;
devlink->registered = true;
+ mutex_lock(&devlink_mutex);
list_add_tail(&devlink->list, &devlink_list);
devlink_notify(devlink, DEVLINK_CMD_NEW);
mutex_unlock(&devlink_mutex);