All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liu Jiang <liuj97@gmail.com>
To: Don Dutile <ddutile@redhat.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	Yinghai Lu <yinghai@kernel.org>, Jiang Liu <jiang.liu@huawei.com>,
	"Rafael J . Wysocki" <rjw@sisk.pl>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Gu Zheng <guz.fnst@cn.fujitsu.com>,
	Toshi Kani <toshi.kani@hp.com>,
	Myron Stowe <myron.stowe@redhat.com>,
	Yijing Wang <wangyijing@huawei.com>,
	linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	Joerg Roedel <joro@8bytes.org>, Ingo Molnar <mingo@kernel.org>,
	Hannes Reinecke <hare@suse.de>, "Li, Zhen-Hua" <zhen-hual@hp.com>,
	iommu@lists.linux-foundation.org
Subject: Re: [RFC PATCH v2, part 2 16/18] PCI, iommu: use hotplug-safe iterators to walk PCI buses
Date: Wed, 15 May 2013 23:36:44 +0800	[thread overview]
Message-ID: <5193AB8C.80300@gmail.com> (raw)
In-Reply-To: <5192B6F7.8090508@redhat.com>

On 05/15/2013 06:13 AM, Don Dutile wrote:
> On 05/14/2013 12:52 PM, Jiang Liu wrote:
>> Enhance iommu drviers to use hotplug-safe iterators to walk
>> PCI buses.
>>
>> Signed-off-by: Jiang Liu<jiang.liu@huawei.com>
>> Cc: Joerg Roedel<joro@8bytes.org>
>> Cc: Ingo Molnar<mingo@kernel.org>
>> Cc: Donald Dutile<ddutile@redhat.com>
>> Cc: Hannes Reinecke<hare@suse.de>
>> Cc: "Li, Zhen-Hua"<zhen-hual@hp.com>
>> Cc: iommu@lists.linux-foundation.org
>> Cc: linux-kernel@vger.kernel.org
>> ---
>>   drivers/iommu/amd_iommu.c | 4 +++-
>>   drivers/iommu/dmar.c      | 6 ++++--
>>   2 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
>> index e046d7a..d6fdf94 100644
>> --- a/drivers/iommu/amd_iommu.c
>> +++ b/drivers/iommu/amd_iommu.c
>> @@ -357,6 +357,7 @@ static int init_iommu_group(struct device *dev)
>>       struct iommu_dev_data *dev_data;
>>       struct iommu_group *group;
>>       struct pci_dev *dma_pdev;
>> +    struct pci_bus *b = NULL;
>>       int ret;
>>
>>       group = iommu_group_get(dev);
>> @@ -393,7 +394,7 @@ static int init_iommu_group(struct device *dev)
>>            * the alias.  Be careful to also test the parent device if
>>            * we think the alias is the root of the group.
>>            */
>> -        bus = pci_find_bus(0, alias>>  8);
>> +        b = bus = pci_find_bus(0, alias>>  8);
>>           if (!bus)
>>               goto use_group;
>>
>> @@ -413,6 +414,7 @@ static int init_iommu_group(struct device *dev)
>>       dma_pdev = get_isolation_root(pci_dev_get(to_pci_dev(dev)));
>>   use_pdev:
>>       ret = use_pdev_iommu_group(dma_pdev, dev);
>> +    pci_bus_put(b);
> pci_find_bus() does a pci_bus_put() after the pci_get_bus();
> is this needed, or did you mean to make the above patch pci_get_bus() ?
Hi Don,
     Thanks for review!
     My fault, I should use pci_get_bus() instead, will fix it in next 
version.
Regards!
Gerry


>
>>       pci_dev_put(dma_pdev);
>>       return ret;
>>   use_group:
>> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
>> index e5cdaf8..5bb3cdc 100644
>> --- a/drivers/iommu/dmar.c
>> +++ b/drivers/iommu/dmar.c
>> @@ -67,12 +67,12 @@ static void __init dmar_register_drhd_unit(struct 
>> dmar_drhd_unit *drhd)
>>   static int __init dmar_parse_one_dev_scope(struct 
>> acpi_dmar_device_scope *scope,
>>                          struct pci_dev **dev, u16 segment)
>>   {
>> -    struct pci_bus *bus;
>> +    struct pci_bus *b, *bus;
>>       struct pci_dev *pdev = NULL;
>>       struct acpi_dmar_pci_path *path;
>>       int count;
>>
>> -    bus = pci_find_bus(segment, scope->bus);
>> +    b = bus = pci_find_bus(segment, scope->bus);
>>       path = (struct acpi_dmar_pci_path *)(scope + 1);
>>       count = (scope->length - sizeof(struct acpi_dmar_device_scope))
>>           / sizeof(struct acpi_dmar_pci_path);
>> @@ -97,6 +97,8 @@ static int __init dmar_parse_one_dev_scope(struct 
>> acpi_dmar_device_scope *scope,
>>           count --;
>>           bus = pdev->subordinate;
>>       }
>> +    pci_bus_put(b);
> ditto.
>
>> +
>>       if (!pdev) {
>>           pr_warn("Device scope device [%04x:%02x:%02x.%02x] not 
>> found\n",
>>               segment, scope->bus, path->dev, path->fn);
>

  reply	other threads:[~2013-05-15 15:36 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-14 16:51 [RFC PATCH v2, part 2 01/18] PCI: introduce hotplug-safe PCI bus iterators Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 02/18] PCI, core: use hotplug-safe iterators to walk PCI buses Jiang Liu
2013-05-14 16:51   ` Jiang Liu
2013-05-14 18:55   ` Yinghai Lu
2013-05-14 18:55     ` Yinghai Lu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 03/18] PCI, hotplug: " Jiang Liu
2013-05-14 18:57   ` Yinghai Lu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 04/18] PCI, Alpha: " Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 05/18] PCI, FRV: " Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 06/18] PCI, IA64: " Jiang Liu
2013-05-14 16:51   ` Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 07/18] PCI, Microblaze: " Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 08/18] PCI, mn10300: " Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 09/18] PCI, PPC: " Jiang Liu
2013-05-14 16:51   ` Jiang Liu
2013-05-14 23:30   ` Benjamin Herrenschmidt
2013-05-14 23:30     ` Benjamin Herrenschmidt
2013-05-15 15:07     ` Liu Jiang
2013-05-15 15:07       ` Liu Jiang
2013-05-15 15:17     ` Jiang Liu
2013-05-15 15:17       ` Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 10/18] PCI, SPARC: " Jiang Liu
2013-05-14 16:51   ` Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 11/18] PCI, x86: " Jiang Liu
2013-05-14 18:59   ` Yinghai Lu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 12/18] PCI, ACPI: " Jiang Liu
2013-05-14 20:28   ` Rafael J. Wysocki
2013-05-14 16:51 ` [RFC PATCH v2, part 2 13/18] PCI, DRM: " Jiang Liu
2013-05-14 16:51 ` [RFC PATCH v2, part 2 14/18] PCI, EDAC: use hotplug-safe PCI bus " Jiang Liu
2013-05-22  4:12   ` Gu Zheng
2013-05-25 15:18     ` Liu Jiang
2013-05-14 16:51 ` [RFC PATCH v2, part 2 15/18] PCI, via-camera: use hotplug-safe " Jiang Liu
     [not found] ` <1368550322-1045-1-git-send-email-jiang.liu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-05-14 16:52   ` [RFC PATCH v2, part 2 16/18] PCI, iommu: " Jiang Liu
2013-05-14 16:52     ` Jiang Liu
     [not found]     ` <1368550322-1045-16-git-send-email-jiang.liu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-05-14 22:13       ` Don Dutile
2013-05-14 22:13         ` Don Dutile
2013-05-15 15:36         ` Liu Jiang [this message]
2013-05-14 16:52 ` [RFC PATCH v2, part 2 17/18] PCI, eeepc-laptop: " Jiang Liu
2013-05-14 16:52 ` [RFC PATCH v2, part 2 18/18] PCI, asus-wmi: " Jiang Liu
2013-05-14 17:05 ` [RFC PATCH v2, part 2 01/18] PCI: introduce hotplug-safe PCI bus iterators Greg Kroah-Hartman
2013-05-15 14:42   ` Liu Jiang
2013-05-15 14:51   ` Liu Jiang
2013-05-14 18:56 ` Yinghai Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5193AB8C.80300@gmail.com \
    --to=liuj97@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=ddutile@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guz.fnst@cn.fujitsu.com \
    --cc=hare@suse.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jiang.liu@huawei.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=myron.stowe@redhat.com \
    --cc=rjw@sisk.pl \
    --cc=toshi.kani@hp.com \
    --cc=wangyijing@huawei.com \
    --cc=yinghai@kernel.org \
    --cc=zhen-hual@hp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.