From patchwork Wed May 2 14:41:46 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiang Liu X-Patchwork-Id: 156476 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id F3DBCB6FA8 for ; Thu, 3 May 2012 00:43:33 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753562Ab2EBOnc (ORCPT ); Wed, 2 May 2012 10:43:32 -0400 Received: from mail-pb0-f46.google.com ([209.85.160.46]:34019 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753011Ab2EBOnb (ORCPT ); Wed, 2 May 2012 10:43:31 -0400 Received: by pbbrp8 with SMTP id rp8so1180903pbb.19 for ; Wed, 02 May 2012 07:43:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=ONqPEh6+XrR1olKDpHyFHkatwARkANi+konTNShFgWs=; b=vas2DqAyG6K9sCxiGKtwBZe9iMGXwTHVQEi68aJ+JJ7WgNS6i9NYLEI78bnIWArosE 5HEZi6Hp4ar1u8y+XiIvcbaLPMAmHjWn7XeHOzRMGyY3iW9vZCQPypTY3vniz+I23W0n PzRDLbjCogNZFf6NU9SLXGxA+RiYQEIGcHQqSk5kKlQor6o2SxmRpVdPKzrGvhsf7At1 OsWhAo1ZP7vzvTRnjacNa1SEr1yNTV7hszpOFX4Od8WNuiYskRD2svo7EO21PRHDeF8D ccn0guod/uyiLjusICTqgmxldf6mQQwbE3q2At/W3rkkJRaU1cuPOKvV7biKM+X4xMQA c6sw== Received: by 10.68.125.131 with SMTP id mq3mr26033839pbb.123.1335969811113; Wed, 02 May 2012 07:43:31 -0700 (PDT) Received: from localhost.localdomain ([221.221.25.20]) by mx.google.com with ESMTPS id pb4sm2148276pbc.55.2012.05.02.07.43.23 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 02 May 2012 07:43:30 -0700 (PDT) From: Jiang Liu To: Taku Izumi , Yinghai Lu Cc: Jiang Liu , Kenji Kaneshige , Bjorn Helgaas , Don Dutile , Keping Chen , linux-pci@vger.kernel.org, Jiang Liu Subject: [PATCH] PCI, x86: avoid redundant insert_resource() call in pci_mmcfg_insert_resources() Date: Wed, 2 May 2012 22:41:46 +0800 Message-Id: <1335969706-13604-1-git-send-email-jiang.liu@huawei.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <20120427151726.870d6966.izumi.taku@jp.fujitsu.com> References: <20120427151726.870d6966.izumi.taku@jp.fujitsu.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org From: Jiang Liu For hot-pluggable host bridges present at boot time, pci_mmconfig_insert() will insert resources used by MMCFG items for those host bridges. So avoid redundant call to insert_resource() when pci_mmcfg_insert_resources() is called later. Reported-By: Taku Izumi Signed-off-by: Jiang Liu --- arch/x86/pci/mmconfig-shared.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index f4d9ff9..7bba722 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c @@ -371,8 +371,13 @@ static void __init pci_mmcfg_insert_resources(void) { struct pci_mmcfg_region *cfg; + /* + * Insert resources for MMCFG items if the resource hasn't been + * inserted by pci_mmconfig_insert() yet. + */ list_for_each_entry(cfg, &pci_mmcfg_list, list) - insert_resource(&iomem_resource, &cfg->res); + if (!cfg->res.parent) + insert_resource(&iomem_resource, &cfg->res); /* Mark that the resources have been inserted. */ pci_mmcfg_resources_inserted = 1;