net/mlx5: Fix delay in fw fatal report handling due to fw report
authorMoshe Shemesh <moshe@mellanox.com>
Tue, 13 Aug 2019 09:49:13 +0000 (12:49 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 22 Aug 2019 20:38:47 +0000 (13:38 -0700)
commita6633e11e8732b9c000774746a2c1827a7e3c316
tree88633cef3109fff24a2c90bb430d0c35af1c545c
parent8465df4025dd4ab84fc24dad6a91cc2b9ec1604d
net/mlx5: Fix delay in fw fatal report handling due to fw report

When fw fatal error occurs, poll health() first detects and reports on a
fw error. Afterwards, it detects and reports on the fw fatal error
itself.

That can cause a long delay in fw fatal error handling which waits in a
queue for the fw error handling to be finished. The fw error handle will
try asking for fw core dump command while fw in fatal state may not
respond and driver will wait for command timeout.

Changing the flow to detect and handle first fw fatal errors and only if
no fatal error detected look for a fw error to handle.

Fixes: d1bf0e2cc4a6 ("net/mlx5: Report devlink health on FW issues")
Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/health.c