Skip to content

Commit

Permalink
[PATCH] ppc64: Fix LPAR regression
Browse files Browse the repository at this point in the history
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@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Anton Blanchard authored and Linus Torvalds committed Sep 23, 2005
1 parent 275abf5 commit 586a90e
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions arch/ppc64/kernel/pSeries_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,9 +525,8 @@ static void iommu_dev_setup_pSeriesLP(struct pci_dev *dev)
* 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");
Expand Down

0 comments on commit 586a90e

Please sign in to comment.