Message ID | 20140731192437.GA18855@oc3347516403.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c index de19ede..3136ae2 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c @@ -491,6 +491,7 @@ static int pnv_pci_ioda_dma_set_mask(struct pnv_phb *phb, set_dma_ops(&pdev->dev, &dma_iommu_ops); set_iommu_table_base(&pdev->dev, &pe->tce32_table); } + *pdev->dev.dma_mask = dma_mask; return 0; }
powerpc defines various machine-specific routines for handling pci_set_dma_mask(). The routines for machine "PowerNV" may neglect to set dev->dma_mask. This could confuse anyone (e.g. drivers) that consult dev->dma_mask to find the current mask. Set the dma_mask in the PowerNV leaf routine. Signed-off-by: Brian W. Hart <hartb@linux.vnet.ibm.com> --- I assume the failure to set dma_mask in this path was just an oversight. With this change everything still seems to work fine on my powernv setup, and dev->dma_mask now carries the appropriate value after pci_set_dma_mask(dev, DMA_BIT_MASK(64). arch/powerpc/platforms/powernv/pci-ioda.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)