Re: [PATCH] MIPS: BCM63XX: provide DMA masks for ethernet devices
From: Florian Fainelli
Date: Thu Feb 21 2019 - 12:47:55 EST
On 2/21/19 1:56 AM, Jonas Gorski wrote:
> The switch to the generic dma ops made dma masks mandatory, breaking
> devices having them not set. In case of bcm63xx, it broke ethernet with
> the following warning when trying to up the device:
>
> [ 2.633123] ------------[ cut here ]------------
> [ 2.637949] WARNING: CPU: 0 PID: 325 at ./include/linux/dma-mapping.h:516 bcm_enetsw_open+0x160/0xbbc
> [ 2.647423] Modules linked in: gpio_button_hotplug
> [ 2.652361] CPU: 0 PID: 325 Comm: ip Not tainted 4.19.16 #0
> [ 2.658080] Stack : 80520000 804cd3ec 00000000 00000000 804ccc00 87085bdc 87d3f9d4 804f9a17
> [ 2.666707] 8049cf18 00000145 80a942a0 00000204 80ac0000 10008400 87085b90 eb3d5ab7
> [ 2.675325] 00000000 00000000 80ac0000 000022b0 00000000 00000000 00000007 00000000
> [ 2.683954] 0000007a 80500000 0013b381 00000000 80000000 00000000 804a1664 80289878
> [ 2.692572] 00000009 00000204 80ac0000 00000200 00000002 00000000 00000000 80a90000
> [ 2.701191] ...
> [ 2.703701] Call Trace:
> [ 2.706244] [<8001f3c8>] show_stack+0x58/0x100
> [ 2.710840] [<800336e4>] __warn+0xe4/0x118
> [ 2.715049] [<800337d4>] warn_slowpath_null+0x48/0x64
> [ 2.720237] [<80289878>] bcm_enetsw_open+0x160/0xbbc
> [ 2.725347] [<802d1d4c>] __dev_open+0xf8/0x16c
> [ 2.729913] [<802d20cc>] __dev_change_flags+0x100/0x1c4
> [ 2.735290] [<802d21b8>] dev_change_flags+0x28/0x70
> [ 2.740326] [<803539e0>] devinet_ioctl+0x310/0x7b0
> [ 2.745250] [<80355fd8>] inet_ioctl+0x1f8/0x224
> [ 2.749939] [<802af290>] sock_ioctl+0x30c/0x488
> [ 2.754632] [<80112b34>] do_vfs_ioctl+0x740/0x7dc
> [ 2.759459] [<80112c20>] ksys_ioctl+0x50/0x94
> [ 2.763955] [<800240b8>] syscall_common+0x34/0x58
> [ 2.768782] ---[ end trace fb1a6b14d74e28b6 ]---
> [ 2.773544] bcm63xx_enetsw bcm63xx_enetsw.0: cannot allocate rx ring 512
>
> Fix this by adding appropriate DMA masks for the platform devices.
>
> Fixes: f8c55dc6e828 ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms")
> Signed-off-by: Jonas Gorski <jonas.gorski@xxxxxxxxx>
Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
--
Florian