linux_dsm_epyc7002/include/linux/mlx5
Huy Nguyen b3cb538849 net/mlx5: Skip mlx5_unload_one if mlx5_load_one fails
There is an issue where the firmware fails during mlx5_load_one,
the health_care timer detects the issue and schedules a health_care call.
Then the mlx5_load_one detects the issue, cleans up and quits. Then
the health_care starts and calls mlx5_unload_one to clean up the resources
that no longer exist and causes kernel panic.

The root cause is that the bit MLX5_INTERFACE_STATE_DOWN is not set
after mlx5_load_one fails. The solution is removing the bit
MLX5_INTERFACE_STATE_DOWN and quit mlx5_unload_one if the
bit MLX5_INTERFACE_STATE_UP is not set. The bit MLX5_INTERFACE_STATE_DOWN
is redundant and we can use MLX5_INTERFACE_STATE_UP instead.

Fixes: 5fc7197d3a ("net/mlx5: Add pci shutdown callback")
Signed-off-by: Huy Nguyen <huyn@mellanox.com>
Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2017-08-30 21:20:43 +03:00
..
cmd.h
cq.h
device.h
doorbell.h
driver.h net/mlx5: Skip mlx5_unload_one if mlx5_load_one fails 2017-08-30 21:20:43 +03:00
fs.h
mlx5_ifc_fpga.h
mlx5_ifc.h net/mlx5e: Add field select to MTPPS register 2017-07-27 16:40:17 +03:00
port.h
qp.h RDMA/mlx5: Fix existence check for extended address vector 2017-08-04 14:24:05 -04:00
srq.h
transobj.h
vport.h