iommu/vt-d: Use list_for_each_entry_safe() for dmar_domain->devices traversal
authorYijing Wang <wangyijing@huawei.com>
Thu, 31 Oct 2013 09:26:04 +0000 (17:26 +0800)
committerJoerg Roedel <joro@8bytes.org>
Fri, 1 Nov 2013 13:18:48 +0000 (14:18 +0100)
Replace list_for_each_safe() + list_entry() with the simpler
list_for_each_entry_safe().

Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
drivers/iommu/intel-iommu.c

index 40203ad..43b9bfe 100644 (file)
@@ -3781,11 +3781,10 @@ static void iommu_detach_dependent_devices(struct intel_iommu *iommu,
 static void domain_remove_one_dev_info(struct dmar_domain *domain,
                                          struct pci_dev *pdev)
 {
-       struct device_domain_info *info;
+       struct device_domain_info *info, *tmp;
        struct intel_iommu *iommu;
        unsigned long flags;
        int found = 0;
-       struct list_head *entry, *tmp;
 
        iommu = device_to_iommu(pci_domain_nr(pdev->bus), pdev->bus->number,
                                pdev->devfn);
@@ -3793,8 +3792,7 @@ static void domain_remove_one_dev_info(struct dmar_domain *domain,
                return;
 
        spin_lock_irqsave(&device_domain_lock, flags);
-       list_for_each_safe(entry, tmp, &domain->devices) {
-               info = list_entry(entry, struct device_domain_info, link);
+       list_for_each_entry_safe(info, tmp, &domain->devices, link) {
                if (info->segment == pci_domain_nr(pdev->bus) &&
                    info->bus == pdev->bus->number &&
                    info->devfn == pdev->devfn) {