From patchwork Mon Nov 18 19:17:52 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Helgaas X-Patchwork-Id: 3198651 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 7BCFE9F43F for ; Mon, 18 Nov 2013 19:18:10 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 654A620573 for ; Mon, 18 Nov 2013 19:18:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 47CAE20575 for ; Mon, 18 Nov 2013 19:18:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751986Ab3KRTR4 (ORCPT ); Mon, 18 Nov 2013 14:17:56 -0500 Received: from mail-ie0-f173.google.com ([209.85.223.173]:37130 "EHLO mail-ie0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751741Ab3KRTRy (ORCPT ); Mon, 18 Nov 2013 14:17:54 -0500 Received: by mail-ie0-f173.google.com with SMTP id x13so9502306ief.18 for ; Mon, 18 Nov 2013 11:17:53 -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=SxJBEFVbDKxA1fSNG4N1zpSEWbNf2qrsvOBiLY3vnKI=; b=NJKvK3PJJ1TFN8KFz1TnSOtvI/s+HaISyuoB3sd/4SKn0/qa+U20sbPKEuB9igtnY8 QamM41nR5Z5nbEC1uTcOqmD7rIefBNGvaDj6Ak/QzJQqV8vRe18U1B6xUPcuoUGCb299 NpIIfoYj6pMb/rXml8TBlX/zP5dRd2lJqXgfpiXCBjb8SjM/pG3MZE1+nDUwvytUJE7t 4EpdDpKNpcC820Gbxyox0yuSgSRwlqBq383z2V0askZr8NQfZywhWL30m96CSCZHXJLd 0g5a29Y9Ugev/y8cc64JAlfB+ozssZoJrY86cLimBfXZY/Lyijwn3CJGlqCLzq61wO8S +IHg== 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=SxJBEFVbDKxA1fSNG4N1zpSEWbNf2qrsvOBiLY3vnKI=; b=HsiEQoeNEWm7CnmE1zpS9nMzp1G78OthJjF9HcrblZx+bonSBsdMLkuYOuUZqmV5WQ afGdkQrV6CZlS8J3EQWKxNqc4rc6yeN/+ANHHvdHHo7pL6yoAwrKoAh4uQ95Qv583nNT 7eVWCaeb0EHOh3eWsfwfs0ocOXRlOMLUk5ypWJ+dmkBz9gmtHuI02eQrqCC2pFjrFimO 7WmQrpVY2PgJCF0hDLHWP6Ow9UyXUQu1NQ+v0oX4COsKaHIsKAV8wSaMdsFUgipeTQ// P/nt0ws3pcTKcDTu1ARDDJgY/VcIwaFvs0trKOwVRtUSjxUNabOIPUmsDPglEj6jatuG SrjA== X-Gm-Message-State: ALoCoQnp6tH4+Gvu26vD/fgxPCYZssZm3oBcy8at6swBR3ab72gTR5mgdycUTx70T9SUT02WMwlklZNidBQd0aS9jKximlaFXx3C2OdEGexLWRCFZze/NW4AlG7RDeDvMInYzvSzJZ195iEdfme+VWh86CPBolenPQP4ZbhPQ1daERhWOhWJGgzjSIo1t1q8maaYuDcBoR4Gd9YY/4ZHLDuUHgG4DlasoA== X-Received: by 10.50.67.99 with SMTP id m3mr15194307igt.35.1384802273812; Mon, 18 Nov 2013 11:17:53 -0800 (PST) Received: from localhost ([172.16.48.5]) by mx.google.com with ESMTPSA id ft2sm15088126igb.5.2013.11.18.11.17.52 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 18 Nov 2013 11:17:53 -0800 (PST) Subject: [PATCH 2/2] 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: Mon, 18 Nov 2013 12:17:52 -0700 Message-ID: <20131118191752.26774.25303.stgit@bhelgaas-glaptop.roam.corp.google.com> In-Reply-To: <20131118191723.26774.53479.stgit@bhelgaas-glaptop.roam.corp.google.com> References: <20131118191723.26774.53479.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 6d3a1741f1e648cfbd5a0cc94477a0d5004c6f5e upstream. 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 # 3.10.x 3.11.x --- drivers/pci/access.c | 4 ++-- 1 file changed, 2 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 e26c3bd9aca4..bcd92b629d3c 100644 --- a/drivers/pci/access.c +++ b/drivers/pci/access.c @@ -499,8 +499,8 @@ static inline bool pcie_cap_has_sltctl(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_DOWNSTREAM && + ((type == PCI_EXP_TYPE_ROOT_PORT || + type == PCI_EXP_TYPE_DOWNSTREAM) && pcie_caps_reg(dev) & PCI_EXP_FLAGS_SLOT); }