]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
authorQinglang Miao <miaoqinglang@huawei.com>
Thu, 19 Nov 2020 07:08:42 +0000 (15:08 +0800)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 20 Jan 2021 13:25:48 +0000 (14:25 +0100)
BugLink: https://bugs.launchpad.net/bugs/1910822
[ Upstream commit 7ec8a926188eb8e7a3cbaca43ec44f2d7146d71b ]

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>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201119070842.1011-1-miaoqinglang@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/net/wireless/st/cw1200/main.c

index f7fe56affbcd213d6d9c82748447be356d6f3fbf..326b1cc1d2bcb6092d5becf332f34ef7912f1109 100644 (file)
@@ -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;
                }