| From f0073d0ec0272699e5b5245715c37dc53fd4c36a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 30 Jul 2020 14:49:10 +0800 |
| Subject: qtnfmac: Missing platform_device_unregister() on error in |
| qtnf_core_mac_alloc() |
| |
| From: Wang Hai <wanghai38@huawei.com> |
| |
| [ Upstream commit 141bc9abbbffa89d020957caa9ac4a61d0ef1e26 ] |
| |
| Add the missing platform_device_unregister() before return from |
| qtnf_core_mac_alloc() in the error handling case. |
| |
| Fixes: 616f5701f4ab ("qtnfmac: assign each wiphy to its own virtual platform device") |
| Reported-by: Hulk Robot <hulkci@huawei.com> |
| Signed-off-by: Wang Hai <wanghai38@huawei.com> |
| Reviewed-by: Sergey Matyukevich <geomatsi@gmail.com> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Link: https://lore.kernel.org/r/20200730064910.37589-1-wanghai38@huawei.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/wireless/quantenna/qtnfmac/core.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/wireless/quantenna/qtnfmac/core.c b/drivers/net/wireless/quantenna/qtnfmac/core.c |
| index eea777f8acea5..6aafff9d4231b 100644 |
| --- a/drivers/net/wireless/quantenna/qtnfmac/core.c |
| +++ b/drivers/net/wireless/quantenna/qtnfmac/core.c |
| @@ -446,8 +446,11 @@ static struct qtnf_wmac *qtnf_core_mac_alloc(struct qtnf_bus *bus, |
| } |
| |
| wiphy = qtnf_wiphy_allocate(bus, pdev); |
| - if (!wiphy) |
| + if (!wiphy) { |
| + if (pdev) |
| + platform_device_unregister(pdev); |
| return ERR_PTR(-ENOMEM); |
| + } |
| |
| mac = wiphy_priv(wiphy); |
| |
| -- |
| 2.25.1 |
| |