wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work
[ Upstream commit 1213acb478a7181cd73eeaf00db430f1e45b1361 ]
The workqueue might still be running, when the driver is stopped. To
avoid a use-after-free, call cancel_work_sync() in rtl8xxxu_stop().
Fixes: e542e66b7c
("rtl8xxxu: add bluetooth co-existence support for single antenna")
Signed-off-by: Martin Kaistra <martin.kaistra@linutronix.de>
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240111163628.320697-2-martin.kaistra@linutronix.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
d80fc43675
Коммит
ac512507ac
|
@ -6484,6 +6484,7 @@ static void rtl8xxxu_stop(struct ieee80211_hw *hw)
|
|||
if (priv->usb_interrupts)
|
||||
rtl8xxxu_write32(priv, REG_USB_HIMR, 0);
|
||||
|
||||
cancel_work_sync(&priv->c2hcmd_work);
|
||||
cancel_delayed_work_sync(&priv->ra_watchdog);
|
||||
|
||||
rtl8xxxu_free_rx_resources(priv);
|
||||
|
|
Загрузка…
Ссылка в новой задаче