From patchwork Tue Nov 19 21:35:44 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Helgaas X-Patchwork-Id: 3204181 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 5AF70C045B for ; Tue, 19 Nov 2013 21:36:37 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8510E20522 for ; Tue, 19 Nov 2013 21:36:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 79B57204E0 for ; Tue, 19 Nov 2013 21:36:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753123Ab3KSVfs (ORCPT ); Tue, 19 Nov 2013 16:35:48 -0500 Received: from mail-ie0-f170.google.com ([209.85.223.170]:54957 "EHLO mail-ie0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753109Ab3KSVfq (ORCPT ); Tue, 19 Nov 2013 16:35:46 -0500 Received: by mail-ie0-f170.google.com with SMTP id qd12so2934253ieb.1 for ; Tue, 19 Nov 2013 13:35:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=subject:to:from:cc:date:message-id:in-reply-to:references :user-agent:mime-version:content-type:content-transfer-encoding; bh=mJuDz7cCSdtxGVbALLiZ89JGzHnGlqfgIY6KsI3UUbs=; b=OS2s5s2QbNXWHnkw9t8BTHvR7S//XR05MTu0ndihIMPYPX/D2pe4wHRzDQ0/N35eH3 9WPfgOKwEhQuJ2uVJoXYx8pbdKSlr7ptNs1Gg1f+pxR58tuaTKHrsQDGivmmkkeow0AG 0OL5HvMBc79WoMYSpnWtqJ1eDNlUw+jb8Z3iktgfTWItO/i6r09t7LKOmcJZMKw4pMeP 6yjICy9lQAgyFUMbqR1B3f7LefGKYzS/dk+sm9rsirZZ69eLiirmU6J7FUThGOQQ2+D9 JOG/yDSh4m9jhM2077OouDYn3K3cPcwiXmXk8ktUYrGfh5Ob6QGyUGgopMeH4mhGKyN3 WTxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:from:cc:date:message-id:in-reply-to :references:user-agent:mime-version:content-type :content-transfer-encoding; bh=mJuDz7cCSdtxGVbALLiZ89JGzHnGlqfgIY6KsI3UUbs=; b=eRNpdaefrBNLXLM8y7azCX/05A3XrJYlgvtqFPZ1yoeib2RPHoXueHxKizy/0Q1MlD zEQB9oDFabhFA9TZQ1zfvzLUMQwo0koGo/ZXDl8FdtqzzwahfgCqW3r/URb4weIntCIB TAio4iJ10xTMmdIHgYv/aBG+ggBkix9627+DN0ht5EKWTNJ0Ndsn4lROMpUS8Q/wBCuq NGzuRSvT5iqyXT/zntC5QiJ22dMpZo/7MDL4Fj18CNwYWsXXBjbhnDrtHDdYAG0pOcw0 VlfeaE2LUD4dx5xlN5/ukqtLkF8ctyIt1rfz/leuqnELpVc6jJMwwSSz+1NvIlWUY/xZ MLMQ== X-Gm-Message-State: ALoCoQkDWu33DGGShRU6Djy1Xq/dvy+6N9b5b8DFc788mRX1ZJ0n9XoalSwR0h/ji+32IVhZn7xmT2xO/bThAJlMLw2bT76ckx9oqhEKiIziIkB4ghfRDzBSdmo1g0JXzNxKDGLZHTUgtCD7fQHw3LoMPmIlRtFHbp7CG7h9g527KnViXHL0RbK+ChaM4APwaX19PlrOuZfHzQ58dYUxSyUv7hJQ+YRKjw== X-Received: by 10.43.132.66 with SMTP id ht2mr2855398icc.26.1384896945899; Tue, 19 Nov 2013 13:35:45 -0800 (PST) Received: from localhost ([172.16.50.11]) by mx.google.com with ESMTPSA id p14sm5317147igr.7.2013.11.19.13.35.44 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 19 Nov 2013 13:35:45 -0800 (PST) Subject: [PATCH v2 1/3] PCI: Allow PCIe Capability link-related register access for switches To: stable@vger.kernel.org From: Bjorn Helgaas Cc: Myron Stowe , linux-pci@vger.kernel.org, Amos Kong , Adam Lee , linux-kernel@vger.kernel.org, Yuval Mintz , Ben Hutchings , Thomas Renninger Date: Tue, 19 Nov 2013 14:35:44 -0700 Message-ID: <20131119213544.3839.44254.stgit@bhelgaas-glaptop.roam.corp.google.com> In-Reply-To: <20131119212714.3839.52182.stgit@bhelgaas-glaptop.roam.corp.google.com> References: <20131119212714.3839.52182.stgit@bhelgaas-glaptop.roam.corp.google.com> User-Agent: StGit/0.16 MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Commit d3694d4fa3f44f6a295f8ab064937c8a1549d174 upstream. Every PCIe device has a link, except Root Complex Integrated Endpoints and Root Complex Event Collectors. Previously we didn't give access to PCIe capability link-related registers for Upstream Ports, Downstream Ports, and Bridges, so attempts to read PCI_EXP_LNKCTL incorrectly returned zero. See PCIe spec r3.0, sec 7.8 and 1.3.2.3. Reference: http://lkml.kernel.org/r/979A8436335E3744ADCD3A9F2A2B68A52AD136BE@SJEXCHMB10.corp.ad.broadcom.com Reported-by: Yuval Mintz Signed-off-by: Bjorn Helgaas Reviewed-By: Jiang Liu CC: stable@vger.kernel.org # v3.7+ --- drivers/pci/access.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/pci/access.c b/drivers/pci/access.c index 1cc23661f79b..e26c3bd9aca4 100644 --- a/drivers/pci/access.c +++ b/drivers/pci/access.c @@ -485,9 +485,13 @@ static inline bool pcie_cap_has_lnkctl(const struct pci_dev *dev) int type = pci_pcie_type(dev); return pcie_cap_version(dev) > 1 || - type == PCI_EXP_TYPE_ROOT_PORT || type == PCI_EXP_TYPE_ENDPOINT || - type == PCI_EXP_TYPE_LEG_END; + type == PCI_EXP_TYPE_LEG_END || + type == PCI_EXP_TYPE_ROOT_PORT || + type == PCI_EXP_TYPE_UPSTREAM || + type == PCI_EXP_TYPE_DOWNSTREAM || + type == PCI_EXP_TYPE_PCI_BRIDGE || + type == PCI_EXP_TYPE_PCIE_BRIDGE; } static inline bool pcie_cap_has_sltctl(const struct pci_dev *dev)