diff mbox series

[-next,v2] wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init()

Message ID 20220826023817.3908255-1-yangyingliang@huawei.com (mailing list archive)
State Awaiting Upstream
Delegated to: Netdev Maintainers
Headers show
Series [-next,v2] wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init() | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Yang Yingliang Aug. 26, 2022, 2:38 a.m. UTC
Add the missing destroy_workqueue() before return from rtw_core_init()
in error path.

Fixes: fe101716c7c9 ("rtw88: replace tx tasklet with work queue")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
v2:
  Change labe name to 'out'.
---
 drivers/net/wireless/realtek/rtw88/main.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Ping-Ke Shih Aug. 26, 2022, 2:44 a.m. UTC | #1
> -----Original Message-----
> From: Yang Yingliang <yangyingliang@huawei.com>
> Sent: Friday, August 26, 2022 10:38 AM
> To: linux-kernel@vger.kernel.org; netdev@vger.kernel.org; linux-wireless@vger.kernel.org
> Cc: tony0620emma@gmail.com; kvalo@kernel.org; Bernie Huang <phhuang@realtek.com>
> Subject: [PATCH -next v2] wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init()
> 
> Add the missing destroy_workqueue() before return from rtw_core_init()
> in error path.
> 
> Fixes: fe101716c7c9 ("rtw88: replace tx tasklet with work queue")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>

Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>

Thanks

> ---
> v2:
>   Change labe name to 'out'.
> ---
>  drivers/net/wireless/realtek/rtw88/main.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
> index 790dcfed1125..475ce0e3071c 100644
> --- a/drivers/net/wireless/realtek/rtw88/main.c
> +++ b/drivers/net/wireless/realtek/rtw88/main.c
> @@ -2094,7 +2094,7 @@ int rtw_core_init(struct rtw_dev *rtwdev)
>  	ret = rtw_load_firmware(rtwdev, RTW_NORMAL_FW);
>  	if (ret) {
>  		rtw_warn(rtwdev, "no firmware loaded\n");
> -		return ret;
> +		goto out;
>  	}
> 
>  	if (chip->wow_fw_name) {
> @@ -2104,11 +2104,15 @@ int rtw_core_init(struct rtw_dev *rtwdev)
>  			wait_for_completion(&rtwdev->fw.completion);
>  			if (rtwdev->fw.firmware)
>  				release_firmware(rtwdev->fw.firmware);
> -			return ret;
> +			goto out;
>  		}
>  	}
> 
>  	return 0;
> +
> +out:
> +	destroy_workqueue(rtwdev->tx_wq);
> +	return ret;
>  }
>  EXPORT_SYMBOL(rtw_core_init);
> 
> --
> 2.25.1
> 
> 
> ------Please consider the environment before printing this e-mail.
Kalle Valo Sept. 2, 2022, 8:45 a.m. UTC | #2
Yang Yingliang <yangyingliang@huawei.com> wrote:

> Add the missing destroy_workqueue() before return from rtw_core_init()
> in error path.
> 
> Fixes: fe101716c7c9 ("rtw88: replace tx tasklet with work queue")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>

Patch applied to wireless-next.git, thanks.

b0ea758b30bb wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init()
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
index 790dcfed1125..475ce0e3071c 100644
--- a/drivers/net/wireless/realtek/rtw88/main.c
+++ b/drivers/net/wireless/realtek/rtw88/main.c
@@ -2094,7 +2094,7 @@  int rtw_core_init(struct rtw_dev *rtwdev)
 	ret = rtw_load_firmware(rtwdev, RTW_NORMAL_FW);
 	if (ret) {
 		rtw_warn(rtwdev, "no firmware loaded\n");
-		return ret;
+		goto out;
 	}
 
 	if (chip->wow_fw_name) {
@@ -2104,11 +2104,15 @@  int rtw_core_init(struct rtw_dev *rtwdev)
 			wait_for_completion(&rtwdev->fw.completion);
 			if (rtwdev->fw.firmware)
 				release_firmware(rtwdev->fw.firmware);
-			return ret;
+			goto out;
 		}
 	}
 
 	return 0;
+
+out:
+	destroy_workqueue(rtwdev->tx_wq);
+	return ret;
 }
 EXPORT_SYMBOL(rtw_core_init);