OSDN Git Service

net/mlx5e: Fix crash in recovery flow without devlink reporter
authorAya Levin <ayal@mellanox.com>
Wed, 12 Feb 2020 13:17:25 +0000 (15:17 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 19 Feb 2020 03:01:19 +0000 (19:01 -0800)
commit1ad6c43c6a7b8627240c6cc19c69e31fedc596a7
tree1b883d994ba453f9c03c4e7e2a42d789e46ddddd
parent5ee090ed0da649b1febae2b7c285ac77d1e55a0c
net/mlx5e: Fix crash in recovery flow without devlink reporter

When health reporters are not supported, recovery function is invoked
directly, not via devlink health reporters.

In this direct flow, the recover function input parameter was passed
incorrectly and is causing a kernel oops. This patch is fixing the input
parameter.

Following call trace is observed on rx error health reporting.

Internal error: Oops: 96000007 [#1] PREEMPT SMP
Process kworker/u16:4 (pid: 4584, stack limit = 0x00000000c9e45703)
Call trace:
mlx5e_rx_reporter_err_rq_cqe_recover+0x30/0x164 [mlx5_core]
mlx5e_health_report+0x60/0x6c [mlx5_core]
mlx5e_reporter_rq_cqe_err+0x6c/0x90 [mlx5_core]
mlx5e_rq_err_cqe_work+0x20/0x2c [mlx5_core]
process_one_work+0x168/0x3d0
worker_thread+0x58/0x3d0
kthread+0x108/0x134

Fixes: c50de4af1d63 ("net/mlx5e: Generalize tx reporter's functionality")
Signed-off-by: Aya Levin <ayal@mellanox.com>
Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en/health.c