[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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
275abf5b06
commit
586a90eb4c
|
@ -525,9 +525,8 @@ static void iommu_dev_setup_pSeriesLP(struct pci_dev *dev)
|
||||||
* slots on POWER4 machines.
|
* slots on POWER4 machines.
|
||||||
*/
|
*/
|
||||||
if (dma_window == NULL || pdn->parent == NULL) {
|
if (dma_window == NULL || pdn->parent == NULL) {
|
||||||
/* Fall back to regular (non-LPAR) dev setup */
|
DBG("No dma window for device, linking to parent\n");
|
||||||
DBG("No dma window for device, falling back to regular setup\n");
|
PCI_DN(dn)->iommu_table = PCI_DN(pdn)->iommu_table;
|
||||||
iommu_dev_setup_pSeries(dev);
|
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
DBG("Found DMA window, allocating table\n");
|
DBG("Found DMA window, allocating table\n");
|
||||||
|
|
Loading…
Reference in New Issue