summaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorPhilipp Hortmann <philipp.g.hortmann@gmail.com>2023-09-24 21:50:55 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-26 11:14:32 +0200
commitd17631c44dea13f7cd6bced705b5c8c8c0bf69c1 (patch)
tree147faf52792dcfa1f7272686a2d961f3cf1657d0 /drivers/staging
parent1579c70661fa95d8ae6910fb80de431260552f46 (diff)
downloadlinux-stable-d17631c44dea13f7cd6bced705b5c8c8c0bf69c1.tar.gz
linux-stable-d17631c44dea13f7cd6bced705b5c8c8c0bf69c1.tar.bz2
linux-stable-d17631c44dea13f7cd6bced705b5c8c8c0bf69c1.zip
staging: rtl8192e: Remove mutex from rtllib_softmac_free()
The following commands use the mutex ieee->wx_mutex: cancel_delayed_work_sync(&ieee->associate_retry_wq) cancel_delayed_work_sync(&ieee->associate_procedure_wq) cancel_work_sync(&ieee->wx_sync_scan_wq) Therefore they cannot be canceled with ieee->wx_mutex locked. As the work functions are executed time shifted during normal operation of the driver, proper locking can only be done inside the functions. Signed-off-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> Link: https://lore.kernel.org/r/a5308876bd8fabcb5f8b25d14dbad2c1f68ce59f.1695582999.git.philipp.g.hortmann@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/rtl8192e/rtllib_softmac.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
index d3468b646ca8..c874468d075c 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -2461,7 +2461,6 @@ int rtllib_softmac_init(struct rtllib_device *ieee)
void rtllib_softmac_free(struct rtllib_device *ieee)
{
- mutex_lock(&ieee->wx_mutex);
del_timer_sync(&ieee->associate_timer);
cancel_delayed_work_sync(&ieee->associate_retry_wq);
@@ -2477,7 +2476,6 @@ void rtllib_softmac_free(struct rtllib_device *ieee)
kfree(ieee->dot11d_info);
ieee->dot11d_info = NULL;
- mutex_unlock(&ieee->wx_mutex);
}
static inline struct sk_buff *