|
@@ -677,7 +677,7 @@ struct mlx5_ifc_mbox_out_bits {
|
|
|
|
|
|
struct mlx5_ifc_mbox_in_bits {
|
|
struct mlx5_ifc_mbox_in_bits {
|
|
u8 opcode[0x10];
|
|
u8 opcode[0x10];
|
|
- u8 reserved_at_10[0x10];
|
|
|
|
|
|
+ u8 uid[0x10];
|
|
|
|
|
|
u8 reserved_at_20[0x10];
|
|
u8 reserved_at_20[0x10];
|
|
u8 op_mod[0x10];
|
|
u8 op_mod[0x10];
|
|
@@ -697,6 +697,7 @@ static int mlx5_cmd_check(struct mlx5_core_dev *dev, void *in, void *out)
|
|
u8 status;
|
|
u8 status;
|
|
u16 opcode;
|
|
u16 opcode;
|
|
u16 op_mod;
|
|
u16 op_mod;
|
|
|
|
+ u16 uid;
|
|
|
|
|
|
mlx5_cmd_mbox_status(out, &status, &syndrome);
|
|
mlx5_cmd_mbox_status(out, &status, &syndrome);
|
|
if (!status)
|
|
if (!status)
|
|
@@ -704,8 +705,18 @@ static int mlx5_cmd_check(struct mlx5_core_dev *dev, void *in, void *out)
|
|
|
|
|
|
opcode = MLX5_GET(mbox_in, in, opcode);
|
|
opcode = MLX5_GET(mbox_in, in, opcode);
|
|
op_mod = MLX5_GET(mbox_in, in, op_mod);
|
|
op_mod = MLX5_GET(mbox_in, in, op_mod);
|
|
|
|
+ uid = MLX5_GET(mbox_in, in, uid);
|
|
|
|
|
|
- mlx5_core_err(dev,
|
|
|
|
|
|
+ if (!uid && opcode != MLX5_CMD_OP_DESTROY_MKEY)
|
|
|
|
+ mlx5_core_err(dev,
|
|
|
|
+ "%s(0x%x) op_mod(0x%x) failed, status %s(0x%x), syndrome (0x%x)\n",
|
|
|
|
+ mlx5_command_str(opcode),
|
|
|
|
+ opcode, op_mod,
|
|
|
|
+ cmd_status_str(status),
|
|
|
|
+ status,
|
|
|
|
+ syndrome);
|
|
|
|
+ else
|
|
|
|
+ mlx5_core_dbg(dev,
|
|
"%s(0x%x) op_mod(0x%x) failed, status %s(0x%x), syndrome (0x%x)\n",
|
|
"%s(0x%x) op_mod(0x%x) failed, status %s(0x%x), syndrome (0x%x)\n",
|
|
mlx5_command_str(opcode),
|
|
mlx5_command_str(opcode),
|
|
opcode, op_mod,
|
|
opcode, op_mod,
|