int mlx5_set_port_wol(struct mlx5_core_dev *mdev, u8 wol_mode)
 {
-       u32 in[MLX5_ST_SZ_DW(set_wol_rol_in)]   = {0};
-       u32 out[MLX5_ST_SZ_DW(set_wol_rol_out)] = {0};
+       u32 in[MLX5_ST_SZ_DW(set_wol_rol_in)] = {};
 
        MLX5_SET(set_wol_rol_in, in, opcode, MLX5_CMD_OP_SET_WOL_ROL);
        MLX5_SET(set_wol_rol_in, in, wol_mode_valid, 1);
        MLX5_SET(set_wol_rol_in, in, wol_mode, wol_mode);
-       return mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
+       return mlx5_cmd_exec_in(mdev, set_wol_rol, in);
 }
 EXPORT_SYMBOL_GPL(mlx5_set_port_wol);
 
 int mlx5_query_port_wol(struct mlx5_core_dev *mdev, u8 *wol_mode)
 {
-       u32 in[MLX5_ST_SZ_DW(query_wol_rol_in)]   = {0};
-       u32 out[MLX5_ST_SZ_DW(query_wol_rol_out)] = {0};
+       u32 out[MLX5_ST_SZ_DW(query_wol_rol_out)] = {};
+       u32 in[MLX5_ST_SZ_DW(query_wol_rol_in)] = {};
        int err;
 
        MLX5_SET(query_wol_rol_in, in, opcode, MLX5_CMD_OP_QUERY_WOL_ROL);
-       err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
+       err = mlx5_cmd_exec_inout(mdev, query_wol_rol, in, out);
        if (!err)
                *wol_mode = MLX5_GET(query_wol_rol_out, out, wol_mode);