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

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
x86/PCI: Adjust GFP mask handling for coherent allocations
PCI ASPM: fix oops on root port removal

+13 -9
+7 -3
arch/x86/include/asm/dma-mapping.h
··· 14 14 #include <asm/swiotlb.h> 15 15 #include <asm-generic/dma-coherent.h> 16 16 17 + #ifdef CONFIG_ISA 18 + # define ISA_DMA_BIT_MASK DMA_BIT_MASK(24) 19 + #else 20 + # define ISA_DMA_BIT_MASK DMA_BIT_MASK(32) 21 + #endif 22 + 17 23 extern dma_addr_t bad_dma_address; 18 24 extern int iommu_merge; 19 25 extern struct device x86_dma_fallback_dev; ··· 130 124 if (dma_alloc_from_coherent(dev, size, dma_handle, &memory)) 131 125 return memory; 132 126 133 - if (!dev) { 127 + if (!dev) 134 128 dev = &x86_dma_fallback_dev; 135 - gfp |= GFP_DMA; 136 - } 137 129 138 130 if (!is_device_dma_capable(dev)) 139 131 return NULL;
+2 -4
arch/x86/kernel/pci-dma.c
··· 45 45 dma_addr_t bad_dma_address __read_mostly = 0; 46 46 EXPORT_SYMBOL(bad_dma_address); 47 47 48 - /* Dummy device used for NULL arguments (normally ISA). Better would 49 - be probably a smaller DMA mask, but this is bug-to-bug compatible 50 - to older i386. */ 48 + /* Dummy device used for NULL arguments (normally ISA). */ 51 49 struct device x86_dma_fallback_dev = { 52 50 .init_name = "fallback device", 53 - .coherent_dma_mask = DMA_BIT_MASK(32), 51 + .coherent_dma_mask = ISA_DMA_BIT_MASK, 54 52 .dma_mask = &x86_dma_fallback_dev.coherent_dma_mask, 55 53 }; 56 54 EXPORT_SYMBOL(x86_dma_fallback_dev);
+4 -2
drivers/pci/pcie/aspm.c
··· 656 656 free_link_state(link); 657 657 658 658 /* Recheck latencies and configure upstream links */ 659 - pcie_update_aspm_capable(root); 660 - pcie_config_aspm_path(parent_link); 659 + if (parent_link) { 660 + pcie_update_aspm_capable(root); 661 + pcie_config_aspm_path(parent_link); 662 + } 661 663 out: 662 664 mutex_unlock(&aspm_lock); 663 665 up_read(&pci_bus_sem);