cxl/mbox: Move raw command warning to raw command validation
authorAlison Schofield <alison.schofield@intel.com>
Thu, 31 Mar 2022 01:27:12 +0000 (18:27 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 12 Apr 2022 23:07:00 +0000 (16:07 -0700)
This move serves two purposes: 1) Emit the warning in the raw
command validation path, and 2) Remove the dependency on the
struct cxl_mem_command in handle_mailbox_cmd_from_user() in
preparation for a refactor of that function.

Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Link: https://lore.kernel.org/r/df5f0e0ec8afa1f75299aa86b4226ab4479ef325.1648687552.git.alison.schofield@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core/mbox.c

index 1f2175f..39c8f6d 100644 (file)
@@ -225,6 +225,8 @@ static int cxl_to_mem_cmd_raw(struct cxl_mem_command *mem_cmd,
        if (!cxl_mem_raw_command_allowed(send_cmd->raw.opcode))
                return -EPERM;
 
+       dev_WARN_ONCE(cxlds->dev, true, "raw command path used\n");
+
        *mem_cmd = (struct cxl_mem_command) {
                .info = {
                        .id = CXL_MEM_COMMAND_ID_RAW,
@@ -417,9 +419,6 @@ static int handle_mailbox_cmd_from_user(struct cxl_dev_state *cxlds,
                cxl_command_names[cmd->info.id].name, mbox_cmd.opcode,
                cmd->info.size_in);
 
-       dev_WARN_ONCE(dev, cmd->info.id == CXL_MEM_COMMAND_ID_RAW,
-                     "raw command path used\n");
-
        rc = cxlds->mbox_send(cxlds, &mbox_cmd);
        if (rc)
                goto out;