Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+9 -4
+2 -1
drivers/iommu/dmar.c
··· 152 152 info->seg = pci_domain_nr(dev->bus); 153 153 info->level = level; 154 154 if (event == BUS_NOTIFY_ADD_DEVICE) { 155 - for (tmp = dev, level--; tmp; tmp = tmp->bus->self) { 155 + for (tmp = dev; tmp; tmp = tmp->bus->self) { 156 + level--; 156 157 info->path[level].device = PCI_SLOT(tmp->devfn); 157 158 info->path[level].function = PCI_FUNC(tmp->devfn); 158 159 if (pci_is_root_bus(tmp->bus))
+7 -3
drivers/iommu/intel-iommu.c
··· 1009 1009 if (level == 1) 1010 1010 return freelist; 1011 1011 1012 - for (pte = page_address(pg); !first_pte_in_page(pte); pte++) { 1012 + pte = page_address(pg); 1013 + do { 1013 1014 if (dma_pte_present(pte) && !dma_pte_superpage(pte)) 1014 1015 freelist = dma_pte_list_pagetables(domain, level - 1, 1015 1016 pte, freelist); 1016 - } 1017 + pte++; 1018 + } while (!first_pte_in_page(pte)); 1017 1019 1018 1020 return freelist; 1019 1021 } ··· 2237 2235 bridge_devfn = dev_tmp->devfn; 2238 2236 } 2239 2237 spin_lock_irqsave(&device_domain_lock, flags); 2240 - info = dmar_search_domain_by_dev_info(segment, bus, devfn); 2238 + info = dmar_search_domain_by_dev_info(segment, 2239 + bridge_bus, 2240 + bridge_devfn); 2241 2241 if (info) { 2242 2242 iommu = info->iommu; 2243 2243 domain = info->domain;