Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1882169yba; Sun, 14 Apr 2019 23:44:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqxQGWqSFr5Q5y0ZdurKSWmFbrE27kS1vvcjKvxEGuC/1CQGyi8/hC86fW37HzSQgHwDmv76 X-Received: by 2002:a17:902:b40a:: with SMTP id x10mr73814099plr.231.1555310651547; Sun, 14 Apr 2019 23:44:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555310651; cv=none; d=google.com; s=arc-20160816; b=uggyfQWjx9hqsKbUgaUmCrrYw2Qvq1WbNCkK7gTaKOyFRtZSr7GiXPSxQMXrNvwOqW 7No33j861PNKbnBFeOVnG6Q4J/7yDoeeg2JvovJCtPuszPcLxWAXg46hC/K79UdCGbzt 9Xl9nvFV62HO+wuuDbYvDsT+kNcoYKzuF17mFPPsAdiVQrSg/OsmA22wvsoz1Vimv2oO HEnvEbLlbU1uS1A6MmiCLHtm3tcEHfzocrllWYIcVCl3EIn3zaKXSZvyLG0lfCCU/yac G8e14t6uCflyqkyU212R4a+P1xsDzo2dVOI9VszFoiERQhpwOympURJyY4dY9wMxqTbM xPAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=vHSKQFoE8klTn9he7k1LVzLPQLWk376wZEbbKhpf7Uk=; b=fhH4j3yIbjmkB3YMC5QdhaIefcscBDXF+XKEjXvRhcGG2iZ7UJ4aWX4cqWq8IBQkVM CVHpQj06Y5F0ROpoKVxwBFJPGYcWazFqmgOxyCcs41hfeEoYJ6+6AAjlgCM2XwjOycXx vUNnPPvxkw8om2a4KRrHtvbvztZrbxXze2VHOuian0Ith4DcgdYfLpngiVn9iP60llZC R2qzGAIjj9FrWzl5XDTbQRum9fY0pk/JH086d6Vp0XCIfQwWyMMijR8C9HZWbotwsFL4 4bLSCCB9b/EPkPuAiTEAZrur8OR/X+YCF/jz5N2OP25aR9tCriBqdCt6Q4zz4LZOt/cV X5NQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 1si20549019ply.311.2019.04.14.23.43.55; Sun, 14 Apr 2019 23:44:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726294AbfDOGm4 (ORCPT + 99 others); Mon, 15 Apr 2019 02:42:56 -0400 Received: from esa1.microchip.iphmx.com ([68.232.147.91]:59107 "EHLO esa1.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725796AbfDOGmx (ORCPT ); Mon, 15 Apr 2019 02:42:53 -0400 X-IronPort-AV: E=Sophos;i="5.60,352,1549954800"; d="scan'208";a="31501915" Received: from unknown (HELO smtp.microsemi.com) ([208.19.99.222]) by esa1.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 14 Apr 2019 23:42:52 -0700 Received: from AUSMBX2.microsemi.net (10.201.34.32) by AUSMBX2.microsemi.net (10.201.34.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 15 Apr 2019 01:42:51 -0500 Received: from server1.microsemi.net (10.188.116.154) by ausmbx2.microsemi.net (10.201.34.32) with Microsoft SMTP Server id 15.1.1713.5 via Frontend Transport; Mon, 15 Apr 2019 01:42:48 -0500 From: Wesley Sheng To: , , , , CC: , Subject: [PATCH v2 2/2] switchtec: Fix unintended mask of MRPC event Date: Mon, 15 Apr 2019 22:41:42 +0800 Message-ID: <1555339302-31829-3-git-send-email-wesley.sheng@microchip.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1555339302-31829-1-git-send-email-wesley.sheng@microchip.com> References: <1555339302-31829-1-git-send-email-wesley.sheng@microchip.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When running application tool switchtec-user's `firmware update` and `event wait` commands concurrently, sometimes the firmware update speed reduced evidently. It is because when the MRPC event happened right after MRPC event occurrence check but before event mask loop reach to its header register in event ISR, the MRPC event would be masked unintentionally. Since there's no chance to enable it again except for a module reload, all the following MRPC execution completion check will be deferred to timeout. Fix this bug by skipping the mask operation for MRPC event in event ISR, same as what we already do for LINK event. Fixes: 52eabba5bcdb ("switchtec: Add IOCTLs to the Switchtec driver") Signed-off-by: Wesley Sheng --- drivers/pci/switch/switchtec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c index 7df9a69..30f6e08 100644 --- a/drivers/pci/switch/switchtec.c +++ b/drivers/pci/switch/switchtec.c @@ -1177,7 +1177,8 @@ static int mask_event(struct switchtec_dev *stdev, int eid, int idx) if (!(hdr & SWITCHTEC_EVENT_OCCURRED && hdr & SWITCHTEC_EVENT_EN_IRQ)) return 0; - if (eid == SWITCHTEC_IOCTL_EVENT_LINK_STATE) + if (eid == SWITCHTEC_IOCTL_EVENT_LINK_STATE || + eid == SWITCHTEC_IOCTL_EVENT_MRPC_COMP) return 0; dev_dbg(&stdev->dev, "%s: %d %d %x\n", __func__, eid, idx, hdr); -- 2.7.4