Wed, Apr 10, 2019 at 08:58:12AM CEST, ido...@mellanox.com wrote: >The driver cannot guarantee in the prepare phase that it will be able to >write an MDB entry to the device. In case the driver returned success >during the prepare phase, but then failed to add the entry in the commit >phase, a WARNING [1] will be generated by the switchdev core. > >Fix this by doing the work in the prepare phase instead. > >[1] >[ 358.544486] swp12s0: Commit of object (id=2) failed. >[ 358.550061] WARNING: CPU: 0 PID: 30 at net/switchdev/switchdev.c:281 >switchdev_port_obj_add_now+0x9b/0xe0 >[ 358.560754] CPU: 0 PID: 30 Comm: kworker/0:1 Not tainted >5.0.0-custom-13382-gf2449babf221 #1350 >[ 358.570472] Hardware name: Mellanox Technologies Ltd. >MSN2100-CB2FO/SA001017, BIOS 5.6.5 06/07/2016 >[ 358.580582] Workqueue: events switchdev_deferred_process_work >[ 358.587001] RIP: 0010:switchdev_port_obj_add_now+0x9b/0xe0 >... >[ 358.614109] RSP: 0018:ffffa6b900d6fe18 EFLAGS: 00010286 >[ 358.619943] RAX: 0000000000000000 RBX: ffff8b00797ff000 RCX: >0000000000000000 >[ 358.627912] RDX: ffff8b00b7a1d4c0 RSI: ffff8b00b7a152e8 RDI: >ffff8b00b7a152e8 >[ 358.635881] RBP: ffff8b005c3f5bc0 R08: 000000000000022b R09: >0000000000000000 >[ 358.643850] R10: 0000000000000000 R11: ffffa6b900d6fcc8 R12: >0000000000000000 >[ 358.651819] R13: dead000000000100 R14: ffff8b00b65a23c0 R15: >0ffff8b00b7a2200 >[ 358.659790] FS: 0000000000000000(0000) GS:ffff8b00b7a00000(0000) >knlGS:0000000000000000 >[ 358.668820] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 >[ 358.675228] CR2: 00007f00aad90de0 CR3: 00000001ca80d000 CR4: >00000000001006f0 >[ 358.683188] Call Trace: >[ 358.685918] switchdev_port_obj_add_deferred+0x13/0x60 >[ 358.691655] switchdev_deferred_process+0x6b/0xf0 >[ 358.696907] switchdev_deferred_process_work+0xa/0x10 >[ 358.702548] process_one_work+0x1f5/0x3f0 >[ 358.707022] worker_thread+0x28/0x3c0 >[ 358.711099] ? process_one_work+0x3f0/0x3f0 >[ 358.715768] kthread+0x10d/0x130 >[ 358.719369] ? __kthread_create_on_node+0x180/0x180 >[ 358.724815] ret_from_fork+0x35/0x40 > >Fixes: 3a49b4fde2a1 ("mlxsw: Adding layer 2 multicast support") >Signed-off-by: Ido Schimmel <ido...@mellanox.com> >Reported-by: Alex Kushnarov <alexand...@mellanox.com> >Tested-by: Alex Kushnarov <alexand...@mellanox.com>
Acked-by: Jiri Pirko <j...@mellanox.com>