[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <174265446855.356712.5159257797992093401.stgit@pro.pro>
Date: Sat, 22 Mar 2025 17:41:08 +0300
From: Kirill Tkhai <tkhai@...ru>
To: netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: tkhai@...ru
Subject: [PATCH NET-PREV 26/51] 6lowpan: Use __register_netdevice in .newlink
The objective is to conform .newlink with its callers,
which already assign nd_lock (and matches master nd_lock
if there is one).
Signed-off-by: Kirill Tkhai <tkhai@...ru>
---
net/6lowpan/core.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/net/6lowpan/core.c b/net/6lowpan/core.c
index 850d4a185f55..b5cbf85b291c 100644
--- a/net/6lowpan/core.c
+++ b/net/6lowpan/core.c
@@ -39,7 +39,7 @@ int lowpan_register_netdevice(struct net_device *dev,
dev->ndisc_ops = &lowpan_ndisc_ops;
- ret = register_netdevice(dev);
+ ret = __register_netdevice(dev);
if (ret < 0)
return ret;
@@ -52,10 +52,18 @@ EXPORT_SYMBOL(lowpan_register_netdevice);
int lowpan_register_netdev(struct net_device *dev,
enum lowpan_lltypes lltype)
{
+ struct nd_lock *nd_lock;
int ret;
rtnl_lock();
+ if (!attach_new_nd_lock(dev))
+ goto out;
+ lock_netdev(dev, &nd_lock);
ret = lowpan_register_netdevice(dev, lltype);
+ if (ret)
+ detach_nd_lock(dev);
+ unlock_netdev(nd_lock);
+out:
rtnl_unlock();
return ret;
}
Powered by blists - more mailing lists