Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3426cb3d authored by Joerg Roedel's avatar Joerg Roedel
Browse files

Merge git://git.infradead.org/iommu-2.6 into iommu/fixes

parents aca1bc45 5ae0566a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -152,7 +152,8 @@ dmar_alloc_pci_notify_info(struct pci_dev *dev, unsigned long event)
	info->seg = pci_domain_nr(dev->bus);
	info->level = level;
	if (event == BUS_NOTIFY_ADD_DEVICE) {
		for (tmp = dev, level--; tmp; tmp = tmp->bus->self) {
		for (tmp = dev; tmp; tmp = tmp->bus->self) {
			level--;
			info->path[level].device = PCI_SLOT(tmp->devfn);
			info->path[level].function = PCI_FUNC(tmp->devfn);
			if (pci_is_root_bus(tmp->bus))
+7 −3
Original line number Diff line number Diff line
@@ -1009,11 +1009,13 @@ static struct page *dma_pte_list_pagetables(struct dmar_domain *domain,
	if (level == 1)
		return freelist;

	for (pte = page_address(pg); !first_pte_in_page(pte); pte++) {
	pte = page_address(pg);
	do {
		if (dma_pte_present(pte) && !dma_pte_superpage(pte))
			freelist = dma_pte_list_pagetables(domain, level - 1,
							   pte, freelist);
	}
		pte++;
	} while (!first_pte_in_page(pte));

	return freelist;
}
@@ -2235,7 +2237,9 @@ static struct dmar_domain *get_domain_for_dev(struct device *dev, int gaw)
				bridge_devfn = dev_tmp->devfn;
			}
			spin_lock_irqsave(&device_domain_lock, flags);
			info = dmar_search_domain_by_dev_info(segment, bus, devfn);
			info = dmar_search_domain_by_dev_info(segment,
							      bridge_bus,
							      bridge_devfn);
			if (info) {
				iommu = info->iommu;
				domain = info->domain;