Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp2173548ybm; Thu, 23 May 2019 12:33:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqyL8YaYzvk1jqhQiYDQUSBoImDh+AmzUzKxH7IyfRiZDYpkGggOyIpjEFjKv3KTLEvSy1UR X-Received: by 2002:aa7:82cd:: with SMTP id f13mr106580167pfn.203.1558640036125; Thu, 23 May 2019 12:33:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558640036; cv=none; d=google.com; s=arc-20160816; b=H/9ae13UzNrzOaggVUH52UpbtsRQ/iWANLLRXrKcfDcS8kb44L+GPca6yYY4XbhPtQ yXwJ/xjkcVywrOCqQKxxfrXMmXw41+kdAVUAtAHUd9AKYszPlfKL4Fanm2o2mN8mRfRq 8HS2bwx1/BG1Cfz7OkTYkxDFOJUKWwEp8hlelA0Udy7oB6Vk/Wr5ZvdxbdRv9Bvtx/Fl 3YTrcgf4glLk4qT4Sm780u4RsTqu6S16CmTUvyu0yVAcOzvC8ZV8xfxdWp0bZ2iCyxWA jHoN9aAp/+9QO+dDXEDL/8GAXVp+TZQZaJStLqdMt6wpoYm+oeUtGLSsAQrTDn765zbJ 1a+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=k3Z55gE4zK0chFFbsFmsF14OqZDlK319V5YN6iSzHAM=; b=KkIQOy7/yDxVFT3cdkUfl98k7hovVEsb1FrKUohcIjYaJ7xSXa+23ZxZoDMt5L0164 LaROTRaFPLYzaI2O9WwTc/nelsxONOciPwKkvTU1xOhVFy8bldSgDFtXsTtwK2NOZlsL V2HUGUdoSh8spFne1KPDxzJlljFUXHiBTtlIZaZoRyt2p2sS3M5gThNuUQ9iItPtNfMh dt38GBsWYao5Wvmh60iZUbq0ZNMQ/eLOxvXWcakWAry7rVrTI/k4p7bp1G8PgWeZU0OF ++B9Onao4wz2RvtPGeakRSWAdPnISoFvBIKu8qDVF5BAuHlhDibLaqsCeQ9jlk2aIvVF R/7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=d8pL2XpU; 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 f32si413506pgl.576.2019.05.23.12.33.40; Thu, 23 May 2019 12:33:56 -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; dkim=pass header.i=@kernel.org header.s=default header.b=d8pL2XpU; 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 S2391958AbfEWTas (ORCPT + 99 others); Thu, 23 May 2019 15:30:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:44334 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391695AbfEWTap (ORCPT ); Thu, 23 May 2019 15:30:45 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5A54020879; Thu, 23 May 2019 19:30:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1558639844; bh=ffYAePsAYSLY2PZJ5lNAa7ZiztMb4ESID2IlEHjN8yc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d8pL2XpUpwlgUGKurncKehxHjQYf22Rw/PvdZ9Zw17clB7KnPnCmNVpJg4Oodyj/t vnbORAJupnygvuA7ku+T6WJFOABYiZ77Ti4QgIlD/7Ih4OTeA65ck8vFamoPYKCXX4 u0YIAlN3zRepASt/O8Abqd4xyn+iarWA4EXFpBKw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jean-Philippe Brucker , Bjorn Helgaas Subject: [PATCH 5.1 097/122] PCI: Init PCIe feature bits for managed host bridge alloc Date: Thu, 23 May 2019 21:06:59 +0200 Message-Id: <20190523181718.056998161@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190523181705.091418060@linuxfoundation.org> References: <20190523181705.091418060@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jean-Philippe Brucker commit 6302bf3ef78dd210b5ff4a922afcb7d8eff8a211 upstream. Two functions allocate a host bridge: devm_pci_alloc_host_bridge() and pci_alloc_host_bridge(). At the moment, only the unmanaged one initializes the PCIe feature bits, which prevents from using features such as hotplug or AER on some systems, when booting with device tree. Make the initialization code common. Fixes: 02bfeb484230 ("PCI/portdrv: Simplify PCIe feature permission checking") Signed-off-by: Jean-Philippe Brucker Signed-off-by: Bjorn Helgaas CC: stable@vger.kernel.org # v4.17+ Signed-off-by: Greg Kroah-Hartman --- drivers/pci/probe.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -586,16 +586,9 @@ static void pci_release_host_bridge_dev( kfree(to_pci_host_bridge(dev)); } -struct pci_host_bridge *pci_alloc_host_bridge(size_t priv) +static void pci_init_host_bridge(struct pci_host_bridge *bridge) { - struct pci_host_bridge *bridge; - - bridge = kzalloc(sizeof(*bridge) + priv, GFP_KERNEL); - if (!bridge) - return NULL; - INIT_LIST_HEAD(&bridge->windows); - bridge->dev.release = pci_release_host_bridge_dev; /* * We assume we can manage these PCIe features. Some systems may @@ -608,6 +601,18 @@ struct pci_host_bridge *pci_alloc_host_b bridge->native_shpc_hotplug = 1; bridge->native_pme = 1; bridge->native_ltr = 1; +} + +struct pci_host_bridge *pci_alloc_host_bridge(size_t priv) +{ + struct pci_host_bridge *bridge; + + bridge = kzalloc(sizeof(*bridge) + priv, GFP_KERNEL); + if (!bridge) + return NULL; + + pci_init_host_bridge(bridge); + bridge->dev.release = pci_release_host_bridge_dev; return bridge; } @@ -622,7 +627,7 @@ struct pci_host_bridge *devm_pci_alloc_h if (!bridge) return NULL; - INIT_LIST_HEAD(&bridge->windows); + pci_init_host_bridge(bridge); bridge->dev.release = devm_pci_release_host_bridge_dev; return bridge;