From: Wei Yongjun <weiyongjun1@huawei.com>
Date: Thu, 29 Sep 2016 14:57:56 +0000 (+0000)
Subject: mwifiex: fix missing destroy_workqueue() on error in mwifiex_add_virtual_intf()
X-Git-Tag: v4.10-rc1~202^2~178^2~52
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=424342ff0e033f5965a446fc6e37aba2c9cee248;p=linux.git

mwifiex: fix missing destroy_workqueue() on error in mwifiex_add_virtual_intf()

Add the missing destroy_workqueue() before return from
mwifiex_add_virtual_intf() in the error handling case.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index d9f54451d0c3..c26469a5a5f3 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -3022,6 +3022,8 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy,
 		priv->netdev = NULL;
 		memset(&priv->wdev, 0, sizeof(priv->wdev));
 		priv->wdev.iftype = NL80211_IFTYPE_UNSPECIFIED;
+		destroy_workqueue(priv->dfs_cac_workqueue);
+		priv->dfs_cac_workqueue = NULL;
 		return ERR_PTR(-ENOMEM);
 	}