net/mlx5: Lag, fix failure to cancel delayed bond work
Commit
0d4e8ed139d8 ("net/mlx5: Lag, avoid lockdep warnings")
accidentally removed a call to cancel delayed bond work thus it may
cause queued delay to expire and fall on an already destroyed work
queue.
Fix by restoring the call cancel_delayed_work_sync() before
destroying the workqueue.
This prevents call trace such as this:
[ 329.230417] BUG: kernel NULL pointer dereference, address:
0000000000000000
[ 329.231444] #PF: supervisor write access in kernel mode
[ 329.232233] #PF: error_code(0x0002) - not-present page
[ 329.233007] PGD 0 P4D 0
[ 329.233476] Oops: 0002 [#1] SMP
[ 329.234012] CPU: 5 PID: 145 Comm: kworker/u20:4 Tainted: G OE 6.0.0-rc5_mlnx #1
[ 329.235282] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS
rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[ 329.236868] Workqueue: mlx5_cmd_0000:08:00.1 cmd_work_handler [mlx5_core]
[ 329.237886] RIP: 0010:_raw_spin_lock+0xc/0x20
[ 329.238585] Code: f0 0f b1 17 75 02 f3 c3 89 c6 e9 6f 3c 5f ff 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 02 f3 c3 89 c6 e9 45 3c 5f ff 0f 1f 44 00 00 0f 1f
[ 329.241156] RSP: 0018:
ffffc900001b0e98 EFLAGS:
00010046
[ 329.241940] RAX:
0000000000000000 RBX:
ffffffff82374ae0 RCX:
0000000000000000
[ 329.242954] RDX:
0000000000000001 RSI:
0000000000000014 RDI:
0000000000000000
[ 329.243974] RBP:
ffff888106ccf000 R08:
ffff8881004000c8 R09:
ffff888100400000
[ 329.244990] R10:
0000000000000000 R11:
ffffffff826669f8 R12:
0000000000002000
[ 329.246009] R13:
0000000000000005 R14:
ffff888100aa7ce0 R15:
ffff88852ca80000
[ 329.247030] FS:
0000000000000000(0000) GS:
ffff88852ca80000(0000) knlGS:
0000000000000000
[ 329.248260] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[ 329.249111] CR2:
0000000000000000 CR3:
000000016d675001 CR4:
0000000000770ee0
[ 329.250133] DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
[ 329.251152] DR3:
0000000000000000 DR6:
00000000fffe0ff0 DR7:
0000000000000400
[ 329.252176] PKRU:
55555554
Fixes: 0d4e8ed139d8 ("net/mlx5: Lag, avoid lockdep warnings")
Signed-off-by: Eli Cohen <elic@nvidia.com>
Reviewed-by: Maor Dickman <maord@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>