Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp794829yba; Fri, 26 Apr 2019 08:52:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqw+XoxvwDgRajiY1ahQy/fqaMzeeq2WkzhwxW2nchPjEu5bjOXf3OX6mSOdSNj4M3RcnLp7 X-Received: by 2002:a65:6110:: with SMTP id z16mr35867064pgu.131.1556293939405; Fri, 26 Apr 2019 08:52:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556293939; cv=none; d=google.com; s=arc-20160816; b=F63DfwQkGgC0iC4WVz3unz7Cy5kwvozJJmu2WJpZcdBJo0icKs6eq/8DraGcnm8GOG OAPBXJeeGAfyg/+ldMChwFSJ9VJWFXUJ8osMVTkgru5AT5vDRLqgXqvgzhWf0ztO+NHK FOq5bMTugGn1gTC4xgsjgdAt3cSfvBSnxvP+a7N6Fn0GJuWTznACIitZRmnNMYB/wT95 rQ6DsYXcn5GBw03bikEB72uZ54nBKNPXNCDqTuL3va448rRepIC/oVegL6vKht5FkzQv 4MC9DB0WxfIfgH8i6FDtqVYuOzpmsCwzy+K4aPQEofjpzWFth6F6jnTli7ef+JwuxIbd 6IPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=AZRT91YzLgIJ6ovD1AR4o08+i1oiLk05VBiqu5VJEBQ=; b=oUu3513Hw64Xr4BP3DGDToOWnwktRHG18HNESMO0fpW4/afuaXo0Xagqw/t4DcWllu ppqaHgx8Ylsfg0rMY47HG2IavBLgALKlqDtSrutIydGo9I/mVhmcYUd14H0UrkjPfoml 5HWesf7kvh+q4ZpavnemnL5M+HSqI0WmBO6cBEtyqYEffOVp+21ZX3xJyAwld8WcIflR /v5HkjnG6Y3/F8moxfJLz40Rw5yQ3Qqb5wmAKSygo71oqKLENwKptjZw8bWp0cXJKDZL Um6qtv5cJhqFMkL4EtUMRDkaSj8mzVECWnpNvC9rYJd1JDEb5/e+HZ+QgvZ9PdjKoI4l Mnvw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f12si23620656pgo.388.2019.04.26.08.52.05; Fri, 26 Apr 2019 08:52:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726596AbfDZPt4 (ORCPT + 99 others); Fri, 26 Apr 2019 11:49:56 -0400 Received: from alexa-out-ams-02.qualcomm.com ([185.23.61.163]:21641 "EHLO alexa-out-ams-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726562AbfDZPtz (ORCPT ); Fri, 26 Apr 2019 11:49:55 -0400 X-Greylist: delayed 372 seconds by postgrey-1.27 at vger.kernel.org; Fri, 26 Apr 2019 11:49:53 EDT X-IronPort-AV: E=Sophos;i="5.60,398,1549926000"; d="scan'208";a="2367522" Received: from ironmsg01-ams.qualcomm.com ([10.251.56.2]) by alexa-out-ams-02.qualcomm.com with ESMTP; 26 Apr 2019 17:43:44 +0200 X-IronPort-AV: E=McAfee;i="5900,7806,9238"; a="7889771" Received: from lx-merez1.mea.qualcomm.com ([10.18.173.103]) by ironmsg01-ams.qualcomm.com with ESMTP; 26 Apr 2019 17:43:44 +0200 From: Maya Erez To: Kalle Valo Cc: Maya Erez , linux-wireless@vger.kernel.org, wil6210@qti.qualcomm.com Subject: [PATCH 7/9] wil6210: fix missed MISC mbox interrupt Date: Fri, 26 Apr 2019 18:43:35 +0300 Message-Id: <1556293417-27097-8-git-send-email-merez@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1556293417-27097-1-git-send-email-merez@codeaurora.org> References: <1556293417-27097-1-git-send-email-merez@codeaurora.org> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org When MISC interrupt is triggered due to HALP bit, in parallel to mbox events handling by the MISC threaded IRQ, new mbox interrupt can be missed in the following scenario: 1. MISC ICR is read in the IRQ handler 2. Threaded IRQ is completed and all MISC interrupts are unmasked 3. mbox interrupt is set by FW 4. HALP is masked The mbox interrupt in step 3 can be missed due to constant high level of ICM. Masking all MISC IRQs instead of masking only HALP bit in step 4 will guarantee that ICM will drop to 0 and interrupt will be triggered once MISC interrupts will be unmasked. Signed-off-by: Maya Erez --- drivers/net/wireless/ath/wil6210/interrupt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/wil6210/interrupt.c b/drivers/net/wireless/ath/wil6210/interrupt.c index d161dc9..b00a13d 100644 --- a/drivers/net/wireless/ath/wil6210/interrupt.c +++ b/drivers/net/wireless/ath/wil6210/interrupt.c @@ -595,7 +595,7 @@ static irqreturn_t wil6210_irq_misc(int irq, void *cookie) /* no need to handle HALP ICRs until next vote */ wil->halp.handle_icr = false; wil_dbg_irq(wil, "irq_misc: HALP IRQ invoked\n"); - wil6210_mask_halp(wil); + wil6210_mask_irq_misc(wil, true); complete(&wil->halp.comp); } } -- 1.9.1