[PATCH] ppc64: Fix LPAR regression
Anton Blanchard
anton at samba.org
Fri Sep 23 12:52:31 EST 2005
Hi,
The recent iommu fix broke booting on some POWER4 and POWER5 LPAR boxes.
It looks like we have been calling the non LPAR iommu_dev_setup on LPAR
machines for a while. The recent iommu fix caused that code path to
fail.
It looks like we just need to hook up the devices iommu_table to the
parents one, so do that instead of calling iommu_dev_setup_pSeries and
crossing the streams.
Signed-off-by: Anton Blanchard <anton at samba.org>
---
Index: build/arch/ppc64/kernel/pSeries_iommu.c
===================================================================
--- build.orig/arch/ppc64/kernel/pSeries_iommu.c 2005-09-23 11:37:40.000000000 +1000
+++ build/arch/ppc64/kernel/pSeries_iommu.c 2005-09-23 12:08:45.000000000 +1000
@@ -526,9 +526,8 @@
* slots on POWER4 machines.
*/
if (dma_window == NULL || pdn->parent == NULL) {
- /* Fall back to regular (non-LPAR) dev setup */
- DBG("No dma window for device, falling back to regular setup\n");
- iommu_dev_setup_pSeries(dev);
+ DBG("No dma window for device, linking to parent\n");
+ PCI_DN(dn)->iommu_table = PCI_DN(pdn)->iommu_table;
return;
} else {
DBG("Found DMA window, allocating table\n");
More information about the Linuxppc64-dev
mailing list