On Sun, 2018-09-02 at 12:30 +0100, Darren Stevens wrote: > To enable use of dma to all ram on a corenet generic system, we add the > function fsl_pci_dma_set_mask, and link it into the ppc.md structure. > > But this function checks for the presence of dev->dma_mask and dma_ops > at entry, and fails if one or other are missing. Powerpc's dma_set_mask > (which it is called from) doesn't check this until after it has set the > dma_mask for pci devs,
It's checking whether the dma_mask pointer is valid before storing into that pointer. The generic ppc dma_set_mask does check this before storing into it. All it does before that check is to look for an alternative dma_set_mask implementation. Is the test failing on dma_mask or dma_supported? If the latter, what are the dma ops set to? Can you check whether the problem still exists after commit ff69279a44e9ba876466 ("powerpc: disable support for relative ksymtab references")? -Scott