netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] net: wwan: call ida_free when device_register fails
@ 2022-07-08  2:02 Bo Liu
  2022-07-09  3:33 ` Jakub Kicinski
  2022-07-09 18:07 ` Sergey Ryazanov
  0 siblings, 2 replies; 3+ messages in thread
From: Bo Liu @ 2022-07-08  2:02 UTC (permalink / raw)
  To: loic.poulain, ryazanov.s.a, johannes, davem, edumazet, kuba,
	pabeni
  Cc: netdev, linux-kernel, Bo Liu

when device_register() fails, we should call ida_free().

Signed-off-by: Bo Liu <liubo03@inspur.com>
---
 drivers/net/wwan/wwan_core.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c
index b8c7843730ed..0f653e320b2b 100644
--- a/drivers/net/wwan/wwan_core.c
+++ b/drivers/net/wwan/wwan_core.c
@@ -228,8 +228,7 @@ static struct wwan_device *wwan_create_dev(struct device *parent)
 	wwandev = kzalloc(sizeof(*wwandev), GFP_KERNEL);
 	if (!wwandev) {
 		wwandev = ERR_PTR(-ENOMEM);
-		ida_free(&wwan_dev_ids, id);
-		goto done_unlock;
+		goto error_free_ida;
 	}
 
 	wwandev->dev.parent = parent;
@@ -242,7 +241,7 @@ static struct wwan_device *wwan_create_dev(struct device *parent)
 	if (err) {
 		put_device(&wwandev->dev);
 		wwandev = ERR_PTR(err);
-		goto done_unlock;
+		goto error_free_ida;
 	}
 
 #ifdef CONFIG_WWAN_DEBUGFS
@@ -251,6 +250,8 @@ static struct wwan_device *wwan_create_dev(struct device *parent)
 					   wwan_debugfs_dir);
 #endif
 
+error_free_ida:
+	ida_free(&wwan_dev_ids, id);
 done_unlock:
 	mutex_unlock(&wwan_register_lock);
 
@@ -448,8 +449,7 @@ struct wwan_port *wwan_create_port(struct device *parent,
 	port = kzalloc(sizeof(*port), GFP_KERNEL);
 	if (!port) {
 		err = -ENOMEM;
-		ida_free(&minors, minor);
-		goto error_wwandev_remove;
+		goto error_free_ida;
 	}
 
 	port->type = type;
@@ -484,6 +484,8 @@ struct wwan_port *wwan_create_port(struct device *parent,
 
 error_put_device:
 	put_device(&port->dev);
+error_free_ida:
+	ida_free(&minors, minor);
 error_wwandev_remove:
 	wwan_remove_dev(wwandev);
 
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-07-09 18:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-08  2:02 [PATCH] net: wwan: call ida_free when device_register fails Bo Liu
2022-07-09  3:33 ` Jakub Kicinski
2022-07-09 18:07 ` Sergey Ryazanov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).