diff options
author | Jakub Kicinski <kuba@kernel.org> | 2021-01-10 21:29:22 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-01-11 17:09:23 -0800 |
commit | 1d04ccb916ce81b8313712bae8a2304c62769c1f (patch) | |
tree | 7f03d7dd8e8785f1d63dc5c8c929cf8ce9a505b5 /drivers/net/bareudp.c | |
parent | 101c59b8f60af54edd89405735aa0bc9f3e42df0 (diff) |
net: bareudp: simplify error paths calling dellink
bareudp_dellink() only needs the device list to hand it to
unregister_netdevice_queue(). We can pass NULL in, and
unregister_netdevice_queue() will do the unregistering.
There is no chance for batching on the error path, anyway.
Suggested-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
Link: https://lore.kernel.org/r/20210111052922.2145003-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/bareudp.c')
-rw-r--r-- | drivers/net/bareudp.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/net/bareudp.c b/drivers/net/bareudp.c index 85de5f96c02b..0965d136def3 100644 --- a/drivers/net/bareudp.c +++ b/drivers/net/bareudp.c @@ -658,7 +658,6 @@ static int bareudp_newlink(struct net *net, struct net_device *dev, struct netlink_ext_ack *extack) { struct bareudp_conf conf; - LIST_HEAD(list_kill); int err; err = bareudp2info(data, &conf, extack); @@ -676,8 +675,7 @@ static int bareudp_newlink(struct net *net, struct net_device *dev, return 0; err_unconfig: - bareudp_dellink(dev, &list_kill); - unregister_netdevice_many(&list_kill); + bareudp_dellink(dev, NULL); return err; } @@ -729,7 +727,6 @@ struct net_device *bareudp_dev_create(struct net *net, const char *name, { struct nlattr *tb[IFLA_MAX + 1]; struct net_device *dev; - LIST_HEAD(list_kill); int err; memset(tb, 0, sizeof(tb)); @@ -753,8 +750,7 @@ struct net_device *bareudp_dev_create(struct net *net, const char *name, return dev; err: - bareudp_dellink(dev, &list_kill); - unregister_netdevice_many(&list_kill); + bareudp_dellink(dev, NULL); return ERR_PTR(err); } EXPORT_SYMBOL_GPL(bareudp_dev_create); |