summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/pcie.c
diff options
context:
space:
mode:
authorShengzhen Li <szli@marvell.com>2015-03-13 17:37:54 +0530
committerKalle Valo <kvalo@codeaurora.org>2015-03-16 18:12:25 +0200
commitb2713f67f7a4c3226772c5ac581c7f37d7c473f1 (patch)
treec17b7a7e0beaf3804be5b19cbcbaf2554a072f41 /drivers/net/wireless/mwifiex/pcie.c
parentea44f4d04c9356dc844af5312a376b6528cec7c5 (diff)
downloadtalos-op-linux-b2713f67f7a4c3226772c5ac581c7f37d7c473f1.tar.gz
talos-op-linux-b2713f67f7a4c3226772c5ac581c7f37d7c473f1.zip
mwifiex: avoid queue_work while work is ongoing
Current code does not check whether main_work_queue or rx_work_queue is running when preparing to do queue_work, this code fix add check before calling queue_work, reducing unnecessary queue_work switch. This change instead sets more_task flag to ensure we run main_process superloop once again. Signed-off-by: Shengzhen Li <szli@marvell.com> Signed-off-by: Zhaoyang Liu <liuzy@marvell.com> Reviewed-by: Cathy Luo <cluo@marvell.com> Reviewed-by: Amitkumar Karwar <akarwar@marvell.com> Reviewed-by: Avinash Patil <patila@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/mwifiex/pcie.c')
-rw-r--r--drivers/net/wireless/mwifiex/pcie.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c
index fc59c1db3615..b31c9a70ffaa 100644
--- a/drivers/net/wireless/mwifiex/pcie.c
+++ b/drivers/net/wireless/mwifiex/pcie.c
@@ -2101,7 +2101,7 @@ static irqreturn_t mwifiex_pcie_interrupt(int irq, void *context)
goto exit;
mwifiex_interrupt_status(adapter);
- queue_work(adapter->workqueue, &adapter->main_work);
+ mwifiex_queue_main_work(adapter);
exit:
return IRQ_HANDLED;
OpenPOWER on IntegriCloud