diff mbox series

net: cw1200: fix missing destroy_workqueue() on error in cw1200_init_common

Message ID 20201119070842.1011-1-miaoqinglang@huawei.com
State Superseded
Headers show
Series net: cw1200: fix missing destroy_workqueue() on error in cw1200_init_common | expand

Commit Message

Qinglang Miao Nov. 19, 2020, 7:08 a.m. UTC
Add the missing destroy_workqueue() before return from
cw1200_init_common in the error handling case.

Fixes:a910e4a94f69 ("cw1200: add driver for the ST-E CW1100 & CW1200 WLAN chipsets")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>
---
 drivers/net/wireless/st/cw1200/main.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kalle Valo Nov. 19, 2020, 7:57 a.m. UTC | #1
Qinglang Miao <miaoqinglang@huawei.com> writes:

> Add the missing destroy_workqueue() before return from
> cw1200_init_common in the error handling case.
>
> Fixes:a910e4a94f69 ("cw1200: add driver for the ST-E CW1100 & CW1200 WLAN chipsets")

This should be:

Fixes: a910e4a94f69 ("cw1200: add driver for the ST-E CW1100 & CW1200 WLAN chipsets")

I can fix that.
Kalle Valo Nov. 24, 2020, 3:08 p.m. UTC | #2
Qinglang Miao <miaoqinglang@huawei.com> wrote:

> Add the missing destroy_workqueue() before return from
> cw1200_init_common in the error handling case.
> 
> Fixes: a910e4a94f69 ("cw1200: add driver for the ST-E CW1100 & CW1200 WLAN chipsets")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>

Patch applied to wireless-drivers-next.git, thanks.

7ec8a926188e cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
diff mbox series

Patch

diff --git a/drivers/net/wireless/st/cw1200/main.c b/drivers/net/wireless/st/cw1200/main.c
index f7fe56aff..326b1cc1d 100644
--- a/drivers/net/wireless/st/cw1200/main.c
+++ b/drivers/net/wireless/st/cw1200/main.c
@@ -381,6 +381,7 @@  static struct ieee80211_hw *cw1200_init_common(const u8 *macaddr,
 				    CW1200_LINK_ID_MAX,
 				    cw1200_skb_dtor,
 				    priv)) {
+		destroy_workqueue(priv->workqueue);
 		ieee80211_free_hw(hw);
 		return NULL;
 	}
@@ -392,6 +393,7 @@  static struct ieee80211_hw *cw1200_init_common(const u8 *macaddr,
 			for (; i > 0; i--)
 				cw1200_queue_deinit(&priv->tx_queue[i - 1]);
 			cw1200_queue_stats_deinit(&priv->tx_queue_stats);
+			destroy_workqueue(priv->workqueue);
 			ieee80211_free_hw(hw);
 			return NULL;
 		}