Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2583303yba; Sun, 7 Apr 2019 23:37:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqy2gTPj/7alunCvkCLd8FP2QLtGZJ8RWnEV+te88sIR2NT/O1x3H0Cw3sAKjkMqi+C4jxZA X-Received: by 2002:a63:f448:: with SMTP id p8mr25017109pgk.50.1554705424330; Sun, 07 Apr 2019 23:37:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554705424; cv=none; d=google.com; s=arc-20160816; b=OmicdlB6OLUvAfrPXzUUuBbDtvALPGGLnLxQegKgfLs+TFG/BtK/5NVHtRLBhtUCP5 XBlvTxrxehpDlDFaTDSdWacfV60GcBzJwAmU9/jqh3qjX9vOOMcuOqrln+ED2w+l2w8z rZqU0zjVWyLODTFvfv9seRT/kpbzF7ASKEDx/J5I7MQu4iegrrLIOpij9QsAiLiqnVCb bpDYL4HRimck5wi6Xs7Emi/9SQoVYFflztd7BXBwuxJxdKZOpww0zf48a1RLltkGFvWV nHjalr42C9gf7F7d1wdQWUmL7As/L1llfabPsuVccpw7yKDtpf8VWk6MW9/oY4Ee59+v rlLg== 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=z5ytTPbpGL4uQ3AkF2MaCK/VllbeJhan7PT/239lSoJieAiyCC6Vs7rpjWat+PqYFz uwEQYqSIPXp7t6WANznRmxsxk5omRRKMJHemYf20oToAQdnZ3wPbzk3O8w7uQvnQJnah UpRkVUQVKwYeyX7Wo6fh3i3LlSu8TpvGpmu+sS8quY8UFPo+w4ljmq3o+shHHgjZIoce CVF8BnYHSs6Raj6+QBBKF6os3wc3j/QHxPPJe4FEDJi59iKacgKfK932dsWYCWDkx7UT 8sU67ALctUrdygbQ418iKhtBR1vjuw9jIRehU8GYTHIdfhruG+N70XoUzKEtpz20pU2X wF6A== 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 v43si9423768pgn.32.2019.04.07.23.36.49; Sun, 07 Apr 2019 23:37:04 -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 S1726576AbfDHGgI (ORCPT + 99 others); Mon, 8 Apr 2019 02:36:08 -0400 Received: from esa4.microchip.iphmx.com ([68.232.154.123]:38309 "EHLO esa4.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725953AbfDHGgG (ORCPT ); Mon, 8 Apr 2019 02:36:06 -0400 X-IronPort-AV: E=Sophos;i="5.60,324,1549954800"; d="scan'208";a="29431216" Received: from unknown (HELO smtp.microsemi.com) ([208.19.100.22]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 07 Apr 2019 23:36:01 -0700 Received: from AVMBX3.microsemi.net (10.100.34.33) by AVMBX2.microsemi.net (10.100.34.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 7 Apr 2019 23:35:59 -0700 Received: from server1.microsemi.net (10.188.116.154) by avmbx3.microsemi.net (10.100.34.33) with Microsoft SMTP Server id 15.1.1713.5 via Frontend Transport; Sun, 7 Apr 2019 23:35:57 -0700 From: Wesley Sheng To: , , , , CC: , , Subject: [PATCH 2/2] switchtec: Fix unintended mask of MRPC event Date: Mon, 8 Apr 2019 22:34:48 +0800 Message-ID: <1554734088-5755-3-git-send-email-wesley.sheng@microchip.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1554734088-5755-1-git-send-email-wesley.sheng@microchip.com> References: <1554734088-5755-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