[PATCH v1 1/1] wwan: core: Avoid returning error pointer from wwan_create_dev()

From: Andy Shevchenko
Date: Thu Aug 05 2021 - 14:38:45 EST


wwan_create_dev() is expected to return either valid pointer or NULL,
In some cases it might return the error pointer. Prevent this by converting
it to NULL after wwan_dev_get_by_parent().

Fixes: 9a44c1cc6388 ("net: Add a WWAN subsystem")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
drivers/net/wwan/wwan_core.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c
index 674a81d79db3..35e10a98e774 100644
--- a/drivers/net/wwan/wwan_core.c
+++ b/drivers/net/wwan/wwan_core.c
@@ -160,7 +160,9 @@ static struct wwan_device *wwan_create_dev(struct device *parent)

/* If wwandev already exists, return it */
wwandev = wwan_dev_get_by_parent(parent);
- if (!IS_ERR(wwandev))
+ if (IS_ERR(wwandev))
+ wwandev = NULL;
+ else
goto done_unlock;

id = ida_alloc(&wwan_dev_ids, GFP_KERNEL);
--
2.30.2