Skip to content

Commit 586a90e

Browse files
antonblanchardLinus Torvalds
authored andcommitted
[PATCH] ppc64: Fix LPAR regression
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 <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 275abf5 commit 586a90e

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

arch/ppc64/kernel/pSeries_iommu.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -525,9 +525,8 @@ static void iommu_dev_setup_pSeriesLP(struct pci_dev *dev)
525525
* slots on POWER4 machines.
526526
*/
527527
if (dma_window == NULL || pdn->parent == NULL) {
528-
/* Fall back to regular (non-LPAR) dev setup */
529-
DBG("No dma window for device, falling back to regular setup\n");
530-
iommu_dev_setup_pSeries(dev);
528+
DBG("No dma window for device, linking to parent\n");
529+
PCI_DN(dn)->iommu_table = PCI_DN(pdn)->iommu_table;
531530
return;
532531
} else {
533532
DBG("Found DMA window, allocating table\n");

0 commit comments

Comments
 (0)