From patchwork Sat Mar 23 04:49:06 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bing Zhao X-Patchwork-Id: 2324171 Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 03AFA400E6 for ; Sat, 23 Mar 2013 04:49:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755483Ab3CWEt2 (ORCPT ); Sat, 23 Mar 2013 00:49:28 -0400 Received: from na3sys009aog101.obsmtp.com ([74.125.149.67]:51295 "EHLO na3sys009aog101.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755489Ab3CWEtZ (ORCPT ); Sat, 23 Mar 2013 00:49:25 -0400 Received: from SC-OWA01.marvell.com ([199.233.58.136]) (using TLSv1) by na3sys009aob101.postini.com ([74.125.148.12]) with SMTP ID DSNKUU00U2BKxiU+cbgErR5fi/AwjZvoXVr8@postini.com; Fri, 22 Mar 2013 21:49:25 PDT Received: from maili.marvell.com (10.93.76.43) by sc-owa01.marvell.com (10.93.76.21) with Microsoft SMTP Server id 8.3.213.0; Fri, 22 Mar 2013 21:49:11 -0700 Received: from localhost.localdomain (unknown [10.80.112.61]) by maili.marvell.com (Postfix) with ESMTP id D0C1E4E517; Fri, 22 Mar 2013 21:49:10 -0700 (PDT) From: Bing Zhao To: CC: "John W. Linville" , Avinash Patil , Yogesh Powar , Amitkumar Karwar , Nishant Sarmukadam , Frank Huang , Bing Zhao Subject: [PATCH 2/3] mwifiex: avoid waking up device in awake state Date: Fri, 22 Mar 2013 21:49:06 -0700 Message-ID: <1364014147-13986-3-git-send-email-bzhao@marvell.com> X-Mailer: git-send-email 1.7.0.2 In-Reply-To: <1364014147-13986-1-git-send-email-bzhao@marvell.com> References: <1364014147-13986-1-git-send-email-bzhao@marvell.com> MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Avinash Patil We have received interrupt from device means FW is not sleeping. In this case make sure wakeup handler for PCIe is not invoked by setting adapter->pm_wakeup_fw_try to false. Signed-off-by: Avinash Patil Signed-off-by: Bing Zhao --- drivers/net/wireless/mwifiex/pcie.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c index 112649a..63c2921 100644 --- a/drivers/net/wireless/mwifiex/pcie.c +++ b/drivers/net/wireless/mwifiex/pcie.c @@ -1984,12 +1984,13 @@ static void mwifiex_interrupt_status(struct mwifiex_adapter *adapter) } } } else if (!adapter->pps_uapsd_mode && - adapter->ps_state == PS_STATE_SLEEP) { + adapter->ps_state == PS_STATE_SLEEP && + mwifiex_pcie_ok_to_access_hw(adapter)) { /* Potentially for PCIe we could get other * interrupts like shared. Don't change power * state until cookie is set */ - if (mwifiex_pcie_ok_to_access_hw(adapter)) - adapter->ps_state = PS_STATE_AWAKE; + adapter->ps_state = PS_STATE_AWAKE; + adapter->pm_wakeup_fw_try = false; } } }