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@linux.intel.com>
---
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