get_dma_ops() falls into arch-dependant get_arch_dma_ops(), which historically returns NULL on PowerPC. Therefore dma_set_mask() fails. This affects Switchtec (and probably other) NTB devices, that they fail to initialize. The proposed patch should fix the issue.
--- arch/powerpc/include/asm/dma-mapping.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h index ebf6680..cb6ac96 100644 --- a/arch/powerpc/include/asm/dma-mapping.h +++ b/arch/powerpc/include/asm/dma-mapping.h @@ -70,14 +70,11 @@ extern struct dma_map_ops dma_iommu_ops; #endif extern const struct dma_map_ops dma_nommu_ops; +extern const struct dma_map_ops *get_pci_dma_ops(void); + static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus) { - /* We don't handle the NULL dev case for ISA for now. We could - * do it via an out of line call but it is not needed for now. The - * only ISA DMA device we support is the floppy and we have a hack - * in the floppy driver directly to get a device for us. - */ - return NULL; + return get_pci_dma_ops(); } /* -- 2.7.4