Sun, May 05, 2019 at 02:33:18AM CEST, sae...@mellanox.com wrote: >From: Feras Daoud <fera...@mellanox.com> > >If a FW assert is considered fatal, indicated by a new bit in the health >buffer, reset the FW. After the reset go through the normal recovery >flow. Only one PF needs to issue the reset, so an attempt is made to >prevent the 2nd function from also issuing the reset. >It's not an error if that happens, it just slows recovery. > >Signed-off-by: Feras Daoud <fera...@mellanox.com> >Signed-off-by: Alex Vesker <va...@mellanox.com> >Signed-off-by: Moshe Shemesh <mo...@mellanox.com> >Signed-off-by: Daniel Jurgens <dani...@mellanox.com> >Signed-off-by: Saeed Mahameed <sae...@mellanox.com> >--- > .../ethernet/mellanox/mlx5/core/diag/crdump.c | 13 +- > .../net/ethernet/mellanox/mlx5/core/health.c | 157 +++++++++++++++++- > .../net/ethernet/mellanox/mlx5/core/main.c | 1 + > .../ethernet/mellanox/mlx5/core/mlx5_core.h | 2 + > include/linux/mlx5/device.h | 10 +- > include/linux/mlx5/driver.h | 1 + > 6 files changed, 176 insertions(+), 8 deletions(-) >
[...] >+void mlx5_error_sw_reset(struct mlx5_core_dev *dev) >+{ >+ unsigned long end, delay_ms = MLX5_FW_RESET_WAIT_MS; >+ int lock = -EBUSY; >+ >+ mutex_lock(&dev->intf_state_mutex); >+ if (dev->state != MLX5_DEVICE_STATE_INTERNAL_ERROR) >+ goto unlock; >+ >+ mlx5_core_err(dev, "start\n"); Leftover?