aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
diff options
context:
space:
mode:
authorKarun Eagalapati <karun256@gmail.com>2017-07-06 20:07:23 +0530
committerKalle Valo <kvalo@codeaurora.org>2017-07-28 17:22:43 +0300
commit6c409cad3d2b66cb4fd184d140fdf48e34890249 (patch)
treea79ef7acf91acac1ea908dd36c3ec17952049bb7 /drivers/net/wireless/rsi/rsi_91x_usb_ops.c
parentrsi: SDIO Rx packet processing enhancement (diff)
downloadlinux-dev-6c409cad3d2b66cb4fd184d140fdf48e34890249.tar.xz
linux-dev-6c409cad3d2b66cb4fd184d140fdf48e34890249.zip
rsi: use separate mutex lock for receive thread
Deadlock issue is observed during our stress tests. The root cause for the issue is same lock is used between tx and rx threads. This patch adds a separate mutex lock for rx thread to resolve the problem. Signed-off-by: Karun Eagalapati <karun256@gmail.com> Signed-off-by: Amitkumar Karwar <amit.karwar@redpinesignals.com> Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/rsi/rsi_91x_usb_ops.c')
-rw-r--r--drivers/net/wireless/rsi/rsi_91x_usb_ops.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/rsi/rsi_91x_usb_ops.c b/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
index d3e0a07604a6..465692b3c351 100644
--- a/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
+++ b/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
@@ -37,14 +37,14 @@ void rsi_usb_rx_thread(struct rsi_common *common)
if (atomic_read(&dev->rx_thread.thread_done))
goto out;
- mutex_lock(&common->tx_rxlock);
+ mutex_lock(&common->rx_lock);
status = rsi_read_pkt(common, 0);
if (status) {
rsi_dbg(ERR_ZONE, "%s: Failed To read data", __func__);
- mutex_unlock(&common->tx_rxlock);
+ mutex_unlock(&common->rx_lock);
return;
}
- mutex_unlock(&common->tx_rxlock);
+ mutex_unlock(&common->rx_lock);
rsi_reset_event(&dev->rx_thread.event);
if (adapter->rx_urb_submit(adapter)) {
rsi_dbg(ERR_ZONE,