powerpc/powernv: Update dev->dma_mask in pci_set_dma_mask() path
authorBrian W Hart <hartb@linux.vnet.ibm.com>
Thu, 31 Jul 2014 19:24:37 +0000 (14:24 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Sep 2014 23:34:16 +0000 (16:34 -0700)
commit a32305bf90a2ae0e6a9a93370c7616565f75e15a upstream.

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>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/platforms/powernv/pci-ioda.c

index 3b2b4fb..beedaf0 100644 (file)
@@ -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;
 }