summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
diff options
context:
space:
mode:
authorPrameela Rani Garnepudi <prameela.j04cs@gmail.com>2018-02-28 13:08:27 +0530
committerKalle Valo <kvalo@codeaurora.org>2018-03-13 18:42:25 +0200
commit8809f08cdc0b57765c190abe0853a394513f6d2f (patch)
treeff0a8c48316ea74af2dfaf435c92ec8a3ad6d75d /drivers/net/wireless/rsi/rsi_91x_usb_ops.c
parent50117605770c9ce94b8f395d7a774c6b029475dc (diff)
rsi: use dynamic RX control blocks instead of MAX_RX_URB
Currently 2 RX control blocks are allocated by default. If wifi alone mode is used rx control block 2 is unusable. So, changes are done accordingly in all places to use RX control blocks dynamically based on coex mode check. Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com> Signed-off-by: Amitkumar Karwar <amit.karwar@redpinesignals.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.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/rsi/rsi_91x_usb_ops.c b/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
index d0650eaeec23..fc25b1b3c8cd 100644
--- a/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
+++ b/drivers/net/wireless/rsi/rsi_91x_usb_ops.c
@@ -30,15 +30,16 @@ void rsi_usb_rx_thread(struct rsi_common *common)
struct rsi_hw *adapter = common->priv;
struct rsi_91x_usbdev *dev = (struct rsi_91x_usbdev *)adapter->rsi_dev;
struct rx_usb_ctrl_block *rx_cb;
- int status, idx;
+ int status, idx, num_rx_cb;
+ num_rx_cb = (adapter->priv->coex_mode > 1 ? 2 : 1);
do {
rsi_wait_event(&dev->rx_thread.event, EVENT_WAIT_FOREVER);
if (atomic_read(&dev->rx_thread.thread_done))
goto out;
- for (idx = 0; idx < MAX_RX_URBS; idx++) {
+ for (idx = 0; idx < num_rx_cb; idx++) {
rx_cb = &dev->rx_cb[idx];
if (!rx_cb->pend)
continue;