From: Nir Dotan <n...@mellanox.com>

Trace EMAD errors returned from HW.

Signed-off-by: Nir Dotan <n...@mellanox.com>
Acked-by: Jiri Pirko <j...@mellanox.com>
Signed-off-by: Ido Schimmel <ido...@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlxsw/core.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c 
b/drivers/net/ethernet/mellanox/mlxsw/core.c
index ddedf8ab5b64..4f6fa515394e 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core.c
@@ -1460,13 +1460,17 @@ static int mlxsw_reg_trans_wait(struct mlxsw_reg_trans 
*trans)
        if (trans->retries)
                dev_warn(mlxsw_core->bus_info->dev, "EMAD retries (%d/%d) 
(tid=%llx)\n",
                         trans->retries, MLXSW_EMAD_MAX_RETRY, trans->tid);
-       if (err)
+       if (err) {
                dev_err(mlxsw_core->bus_info->dev, "EMAD reg access failed 
(tid=%llx,reg_id=%x(%s),type=%s,status=%x(%s))\n",
                        trans->tid, trans->reg->id,
                        mlxsw_reg_id_str(trans->reg->id),
                        mlxsw_core_reg_access_type_str(trans->type),
                        trans->emad_status,
                        mlxsw_emad_op_tlv_status_str(trans->emad_status));
+               trace_devlink_hwerr(priv_to_devlink(mlxsw_core),
+                                   trans->emad_status,
+                                   
mlxsw_emad_op_tlv_status_str(trans->emad_status));
+       }
 
        list_del(&trans->bulk_list);
        kfree_rcu(trans, rcu);
-- 
2.20.1

Reply via email to