There is dma_mask in of_device that is being filled upon
of_platform_device_create() but we don't properly set the struct device
in there to point back to it. coherent_dma_mask wasn't set up either -
these caused weird lock-ups and behavior of USB subsystem using
of_device USB host drivers.
Signed-off-by: Vitaly Bordug <redacted>
---
arch/powerpc/kernel/of_platform.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
@@ -76,6 +76,9 @@ struct of_device* of_platform_device_create(struct device_node *np,returnNULL;dev->dma_mask=0xffffffffUL;+dev->dev.dma_mask=&dev->dma_mask;+dev->dev.coherent_dma_mask=DMA_32BIT_MASK;+dev->dev.bus=&of_platform_bus_type;/* We do not fill the DMA ops for platform devices by default.