Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1234106pxb; Sun, 21 Feb 2021 17:20:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJy97i1JMXBrib0IlsgbRwJo92YcaeXIVntaxs27lhgwzs8hNSn7XZYCY0IXOLJqXIjrNN+h X-Received: by 2002:a50:b5e4:: with SMTP id a91mr7330424ede.173.1613956819223; Sun, 21 Feb 2021 17:20:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613956819; cv=none; d=google.com; s=arc-20160816; b=zdqz/j3Hc2vjVIG+D4m5tfCt46XXpFJjOjVlRK5Ez0SO76o88gC2dAv3zo6Ul3qnPM rnxDntCX6n5wvKKXpIcfuXUpMs+9qo502Ot078NRUS1JYhbfL+/P1FuG1etHzXFrbxov sZSmodAWs0gmVT9sqR4gi2D9iAvOO9ZWIbZ8O3QnNE7ZV2Tu4pR8WB+jLXDgfHZLvH5O ANdllJFk2dFBnKIkoJ3iyhvGG47pGnnosK2YAQEaIHTm6/5xIpwY19VndrbeuEU6qtw0 f7hch6PY8LD14y/sf0/LTb2NTZvxZCyY7yi1u9Xh59pid/mS1NSZz4xESKkGQmXZEKW5 DuYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:ironport-sdr:ironport-sdr; bh=tXCrI4T6CY0jqADZJPULYZaeI4ZTSjGPuFmlQIVYG5Y=; b=loTnriPEEydWRXljTUCVUtxp+DZfPux9WG97osuG7+OHGJbsfmA+njpe4O2tTqs7rF bYBo1OS0RH1xO7IG5a+E90ubv2e9lzWcWsutjDPNKdAmVn228LPaa1kED4TRjdOrGz6J VeNF2UfqNuffnpEpTm+6TG4sEtfVD7tCIaSOZeayOwHgLcyQNLCy1AJ1Tu0PsriUhgoZ xltaYXn7O5ldngUFFXFua283SQnxMkJDvMnYrzUW23ARmzUj88DgeZBKE4YkSthGh5WQ 1twUpqWHdCwk8JXad0L7RM45UwMKa/nFMugYgUvj/nX3pwy+9bxeYOYfAcXMWn9g8sT4 0v5Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bs11si10918743ejb.637.2021.02.21.17.19.56; Sun, 21 Feb 2021 17:20:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230185AbhBVBSD (ORCPT + 99 others); Sun, 21 Feb 2021 20:18:03 -0500 Received: from mga12.intel.com ([192.55.52.136]:16866 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229866AbhBVBSC (ORCPT ); Sun, 21 Feb 2021 20:18:02 -0500 IronPort-SDR: Qz7k2j+NlNLcH4GnGFlVWDa2N3t/MSSYQjCjV6SFxUC8jBQmHzvq+0sbf5ARdB5PZzBK7Ogd7a xQLADd5mTcsA== X-IronPort-AV: E=McAfee;i="6000,8403,9902"; a="163508221" X-IronPort-AV: E=Sophos;i="5.81,195,1610438400"; d="scan'208";a="163508221" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2021 17:17:21 -0800 IronPort-SDR: JpFBsS5FfOtqOFdx+oG2MqSRlAKrfPDQZuqavKtqDBP2U4jHQxyeNfH8C0hRVM/qtk6pJ8xthC crHysZ/sVJqw== X-IronPort-AV: E=Sophos;i="5.81,195,1610438400"; d="scan'208";a="402317241" Received: from qiuxu-lab.sh.intel.com ([10.239.53.1]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2021 17:17:18 -0800 From: Qiuxu Zhuo To: Bjorn Helgaas Cc: Qiuxu Zhuo , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Sean V Kelley , "Luck, Tony" , "Jin, Wen" , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/1] PCI/RCEC: Fix RCiEP capable devices RCEC association Date: Mon, 22 Feb 2021 09:17:17 +0800 Message-Id: <20210222011717.43266-1-qiuxu.zhuo@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <4a0bf3a852ed47deb072890319fb39ec@intel.com> References: <4a0bf3a852ed47deb072890319fb39ec@intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Function rcec_assoc_rciep() incorrectly used "rciep->devfn" (a single byte encoding the device and function number) as the device number to check whether the corresponding bit was set in the RCiEPBitmap of the RCEC (Root Complex Event Collector) while enumerating over each bit of the RCiEPBitmap. As per the PCI Express Base Specification, Revision 5.0, Version 1.0, Section 7.9.10.2, "Association Bitmap for RCiEPs", p. 935, only needs to use a device number to check whether the corresponding bit was set in the RCiEPBitmap. Fix rcec_assoc_rciep() using the PCI_SLOT() macro and convert the value of "rciep->devfn" to a device number to ensure that the RCiEP devices associated with the RCEC are linked when the RCEC is enumerated. Fixes: 507b460f8144 ("PCI/ERR: Add pcie_link_rcec() to associate RCiEPs") Reported-and-tested-by: Wen Jin Reviewed-by: Sean V Kelley Signed-off-by: Qiuxu Zhuo --- v2->v3: Drop "[ Krzysztof: Update commit message. ]" from the commit message drivers/pci/pcie/rcec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/pcie/rcec.c b/drivers/pci/pcie/rcec.c index 2c5c552994e4..d0bcd141ac9c 100644 --- a/drivers/pci/pcie/rcec.c +++ b/drivers/pci/pcie/rcec.c @@ -32,7 +32,7 @@ static bool rcec_assoc_rciep(struct pci_dev *rcec, struct pci_dev *rciep) /* Same bus, so check bitmap */ for_each_set_bit(devn, &bitmap, 32) - if (devn == rciep->devfn) + if (devn == PCI_SLOT(rciep->devfn)) return true; return false; -- 2.17.1