From: Ping-Ke Shih <pkshih@realtek.com>
To: Dmitry Antipov <dmantipov@yandex.ru>, Kalle Valo <kvalo@kernel.org>
Cc: Yan-Hsuan Chuang <tony0620emma@gmail.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: RE: [PATCH] [v2] wifi: rtw88: delete timer and free skb queue when unloading
Date: Fri, 16 Jun 2023 01:11:10 +0000 [thread overview]
Message-ID: <5fb6969687da47b2a12cb35041accca2@realtek.com> (raw)
In-Reply-To: <20230615151911.5793-1-dmantipov@yandex.ru>
> -----Original Message-----
> From: Dmitry Antipov <dmantipov@yandex.ru>
> Sent: Thursday, June 15, 2023 11:19 PM
> To: Kalle Valo <kvalo@kernel.org>
> Cc: Yan-Hsuan Chuang <tony0620emma@gmail.com>; linux-wireless@vger.kernel.org; Dmitry Antipov
> <dmantipov@yandex.ru>
> Subject: [PATCH] [v2] wifi: rtw88: delete timer and free skb queue when unloading
>
> Fix possible crash and memory leak on driver unload by deleting
> TX purge timer and freeing C2H queue in 'rtw_core_deinit()'.
>
> Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
> ---
> v2: fix title and commit message (Kalle Valo)
> ---
> drivers/net/wireless/realtek/rtw88/main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
> index 9447a3aae3b5..572fc126b9de 100644
> --- a/drivers/net/wireless/realtek/rtw88/main.c
> +++ b/drivers/net/wireless/realtek/rtw88/main.c
> @@ -2180,9 +2180,11 @@ void rtw_core_deinit(struct rtw_dev *rtwdev)
> release_firmware(wow_fw->firmware);
>
> destroy_workqueue(rtwdev->tx_wq);
> + timer_delete_sync(&rtwdev->tx_report.purge_timer);
> spin_lock_irqsave(&rtwdev->tx_report.q_lock, flags);
> skb_queue_purge(&rtwdev->tx_report.queue);
> skb_queue_purge(&rtwdev->coex.queue);
> + skb_queue_purge(&rtwdev->c2h_queue);
rtwdev->tx_report.q_lock is used to protect rtwdev->tx_report.queue, so don't
add to purge c2h queue in this critical section. I think coex.queue is
the bad example.
> spin_unlock_irqrestore(&rtwdev->tx_report.q_lock, flags);
>
> list_for_each_entry_safe(rsvd_pkt, tmp, &rtwdev->rsvd_page_list,
> --
> 2.40.1
prev parent reply other threads:[~2023-06-16 1:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-15 11:05 [PATCH] wifi: rtw89: delete timer and free skb queue when unloading Dmitry Antipov
2023-06-15 11:54 ` Kalle Valo
2023-06-15 15:19 ` [PATCH] [v2] wifi: rtw88: " Dmitry Antipov
2023-06-16 1:11 ` Ping-Ke Shih [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5fb6969687da47b2a12cb35041accca2@realtek.com \
--to=pkshih@realtek.com \
--cc=dmantipov@yandex.ru \
--cc=kvalo@kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=tony0620emma@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.