net/mlx5e: Update tx reporter status in case channels were successfully opened
authorEran Ben Elisha <eranbe@mellanox.com>
Sun, 3 Mar 2019 08:57:31 +0000 (10:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Mar 2019 19:00:43 +0000 (11:00 -0800)
Once channels were successfully opened, update tx reporter health state to
healthy. This is needed for the following scenario:
- SQ has an un-recovered error reported to the devlink health, resulting tx
  reporter state to be error.
- Current channels (including this SQ) are closed
- New channels are opened
After that flow, the original error was "solved", and tx reporter state
should be healthy. However, as it was resolved as a side effect, and not
via tx reporter recover method, driver needs to inform devlink health
about it.

Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index e5f74eb..b5fdbd3 100644 (file)
@@ -2302,6 +2302,10 @@ int mlx5e_open_channels(struct mlx5e_priv *priv,
                        goto err_close_channels;
        }
 
+       if (!IS_ERR_OR_NULL(priv->tx_reporter))
+               devlink_health_reporter_state_update(priv->tx_reporter,
+                                                    DEVLINK_HEALTH_REPORTER_STATE_HEALTHY);
+
        kvfree(cparam);
        return 0;