[RFC patch] init default dma_ops to prepare intel_iommu_init failure
From: Luming Yu
Date: Wed Aug 12 2009 - 05:20:23 EST
Hi there,
On ia64 platform with dmar table and new upstream
kernel(config_dmar_default_on enabled),
if intel_iommu_init ends up without dma_ops initialized or other iommu
failures.
We got nothing to fall back. The following patch fixes it.
Please review. If make sense, please apply.
**The patch is enclosed in text attachment*
**Using web client to send the patch* *
**below is for review, please apply attached patch*/
Thanks,
Luming
Signed-off-by: Yu Luming <luming.yu@xxxxxxxxx>
arch/ia64/kernel/pci-swiotlb.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/arch/ia64/kernel/pci-swiotlb.c b/arch/ia64/kernel/pci-swiotlb.c
index 223abb1..d5dcaf5 100644
--- a/arch/ia64/kernel/pci-swiotlb.c
+++ b/arch/ia64/kernel/pci-swiotlb.c
@@ -46,15 +46,13 @@ void __init swiotlb_dma_init(void)
void __init pci_swiotlb_init(void)
{
- if (!iommu_detected || iommu_pass_through) {
#ifdef CONFIG_IA64_GENERIC
- swiotlb = 1;
- printk(KERN_INFO "PCI-DMA: Re-initialize machine vector.\n");
- machvec_init("dig");
- swiotlb_init();
- dma_ops = &swiotlb_dma_ops;
+ swiotlb = 1;
+ printk(KERN_INFO "PCI-DMA: Re-initialize machine vector.\n");
+ machvec_init("dig");
+ swiotlb_init();
+ dma_ops = &swiotlb_dma_ops;
#else
- panic("Unable to find Intel IOMMU");
+ panic("Unable to find Intel IOMMU");
#endif
- }
}
Attachment:
5
Description: Binary data