mfd: sm501: Set coherent_dma_mask when creating subdevices
authorGuenter Roeck <linux@roeck-us.net>
Sat, 4 Aug 2018 03:59:51 +0000 (20:59 -0700)
committerLee Jones <lee.jones@linaro.org>
Thu, 16 Aug 2018 09:13:57 +0000 (10:13 +0100)
Instantiating the sm501 OHCI subdevice results in a kernel warning.

sm501-usb sm501-usb: SM501 OHCI
sm501-usb sm501-usb: new USB bus registered, assigned bus number 1
WARNING: CPU: 0 PID: 1 at ./include/linux/dma-mapping.h:516
ohci_init+0x194/0x2d8
Modules linked in:

CPU: 0 PID: 1 Comm: swapper Tainted: G        W
4.18.0-rc7-00178-g0b5b1f9a78b5 #1
PC is at ohci_init+0x194/0x2d8
PR is at ohci_init+0x168/0x2d8
PC  : 8c27844c SP  : 8f81dd94 SR  : 40008001
TEA : 29613060
R0  : 00000000 R1  : 00000000 R2  : 00000000 R3  : 00000202
R4  : 8fa98b88 R5  : 8c277e68 R6  : 00000000 R7  : 00000000
R8  : 8f965814 R9  : 8c388100 R10 : 8fa98800 R11 : 8fa98928
R12 : 8c48302c R13 : 8fa98920 R14 : 8c48302c
MACH: 00000096 MACL: 0000017c GBR : 00000000 PR  : 8c278420

Call trace:
 [<(ptrval)>] usb_add_hcd+0x1e8/0x6ec
 [<(ptrval)>] _dev_info+0x0/0x54
 [<(ptrval)>] arch_local_save_flags+0x0/0x8
 [<(ptrval)>] arch_local_irq_restore+0x0/0x24
 [<(ptrval)>] ohci_hcd_sm501_drv_probe+0x114/0x2d8
...

Initialize coherent_dma_mask when creating SM501 subdevices to fix
the problem.

Fixes: b6d6454fdb66f ("mfd: SM501 core driver")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/sm501.c

index 2a87b0d2f21ff034ee8f1f7ddd4684b1bb1c300e..a530972c5a7e939a6b0be066c590a2ad7dccd9fc 100644 (file)
@@ -715,6 +715,7 @@ sm501_create_subdev(struct sm501_devdata *sm, char *name,
        smdev->pdev.name = name;
        smdev->pdev.id = sm->pdev_id;
        smdev->pdev.dev.parent = sm->dev;
+       smdev->pdev.dev.coherent_dma_mask = 0xffffffff;
 
        if (res_count) {
                smdev->pdev.resource = (struct resource *)(smdev+1);