From patchwork Tue Nov 19 21:35:57 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Helgaas X-Patchwork-Id: 3204171 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 653A09F243 for ; Tue, 19 Nov 2013 21:36:34 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3DB932054B for ; Tue, 19 Nov 2013 21:36:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 62140204E0 for ; Tue, 19 Nov 2013 21:36:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753269Ab3KSVgF (ORCPT ); Tue, 19 Nov 2013 16:36:05 -0500 Received: from mail-ie0-f170.google.com ([209.85.223.170]:60676 "EHLO mail-ie0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753264Ab3KSVf7 (ORCPT ); Tue, 19 Nov 2013 16:35:59 -0500 Received: by mail-ie0-f170.google.com with SMTP id qd12so2993783ieb.15 for ; Tue, 19 Nov 2013 13:35:59 -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=t1JS44HfTn0Dylu90Qa/t98g0ekg0OYNHkaAqTCUdgY=; b=miG+GYNf2ZVk1YgagR+wqQS87bXkPGIgeAzGiNjcCqJZsoPwk8SNHTc3OX24SMTaPY Wz5GNCG9SB89c8KCw6vhaAmM+Lnh3jrEOCVS5PjoyWA4mtm/Gkj6McRF967QDuFsM4Ny +D/PQS1f3dFBuV9cQvlxjaG61TogHOZ3U3OLVqN3yvP4/8AwY29x7SsYC5H7yZQhqvxw sWtZgKRLK2Y5qmZxWoE0CE0e7HG563gas8S7WzIkam7OnlJEwPvneWQuhZWWe0HPgSI6 ur3DZwoZIa71mjNS0qdnXauJbO0CIcReK/kvgz+MjidaigiYrlrpQ5tXM2qoUS0ILrjw HV0w== 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=t1JS44HfTn0Dylu90Qa/t98g0ekg0OYNHkaAqTCUdgY=; b=kTIkacAK3+T7dGVYLqey0aS2oCRCRJrVTV4hALC4IJ1ukhMUn6/MxxuVOaca7yBpu9 k5EJ25Gw1+kkn2bHF8V8rQ8SFxWnfas37NiMHH9qCAD+TNLayz8Y0mKIH5ie2O6jB6TF Yrs2jpUcXpevIqD7fFIS4n87K8MwbdAv1692loit4kitLFVbe7wl/n+7igmkFMRiUugy f6E8exmv2m1amT+RsP9Y0J+x+ZRiYH5wFMbyzsR3yUNJZd1hDN5Sxpjr+r0YIwAmG6LO 5oDJsGeC67Rk3S9/CS2/iXcoW+OYrbw8xcZNQR7ZG7T08EXGSbzdnctuC6WBY8i6FSMg Ghhw== X-Gm-Message-State: ALoCoQkxtTjFmug6qzq1dIxCqzyWFhTk8YBCiz+0EuJ8MnoQsVPSeLWBEshFsN268YWXGPH1/DFPp+JvAT+vwEndHgpUoSjf4duH/WElcWOFZ2uLYeoGM26X13ec0rVG8cwvEWEc4YmcNKUiffA0EeQOMIdUFxbrja4eCB/kzIChL93DVsg5SxZISb1EUuVFNxJvqbBg4H7Ey8FQlO1xZ4pI0hahlIjOTw== X-Received: by 10.50.43.163 with SMTP id x3mr19943809igl.59.1384896959309; Tue, 19 Nov 2013 13:35:59 -0800 (PST) Received: from localhost ([172.16.50.11]) by mx.google.com with ESMTPSA id jk5sm21611080igb.0.2013.11.19.13.35.58 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 19 Nov 2013 13:35:58 -0800 (PST) Subject: [PATCH v2 3/3] PCI: Support PCIe Capability Slot registers only for ports with slots 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:57 -0700 Message-ID: <20131119213557.3839.56953.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=ham 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 6d3a1741f1e648cfbd5a0cc94477a0d5004c6f5e upstream. This is part of the fix for https://bugzilla.kernel.org/show_bug.cgi?id=65211 Previously we allowed callers to access Slot Capabilities, Status, and Control for Root Ports even if the Root Port did not implement a slot. This seems dubious because the spec only requires these registers if a slot is implemented. It's true that even Root Ports without slots must have *space* for these slot registers, because the Root Capabilities, Status, and Control registers are after the slot registers in the capability. However, for a v1 PCIe Capability, the *semantics* of the slot registers are undefined unless a slot is implemented. Signed-off-by: Bjorn Helgaas Reviewed-By: Jiang Liu CC: stable@vger.kernel.org # v3.7+ Acked-by: Myron Stowe --- drivers/pci/access.c | 6 +++--- 1 file changed, 3 insertions(+), 3 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 9a46fa9135d9..061da8c3ab4b 100644 --- a/drivers/pci/access.c +++ b/drivers/pci/access.c @@ -497,9 +497,9 @@ static inline bool pcie_cap_has_sltctl(const struct pci_dev *dev) { int type = pci_pcie_type(dev); - return type == PCI_EXP_TYPE_ROOT_PORT || - (type == PCI_EXP_TYPE_DOWNSTREAM && - pcie_caps_reg(dev) & PCI_EXP_FLAGS_SLOT); + return (type == PCI_EXP_TYPE_ROOT_PORT || + type == PCI_EXP_TYPE_DOWNSTREAM) && + pcie_caps_reg(dev) & PCI_EXP_FLAGS_SLOT; } static inline bool pcie_cap_has_rtctl(const struct pci_dev *dev)