platform/x86/amd/pmf: Fix return value of amd_pmf_start_policy_engine()
authorArmin Wolf <W_Armin@gmx.de>
Mon, 4 Mar 2024 20:50:02 +0000 (21:50 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 12 Mar 2024 10:48:02 +0000 (12:48 +0200)
amd_pmf_start_policy_engine() returns an negative error code upon
failure, so the TA_PMF_* error codes cannot be used here.

Return -EIO instead. Also stop shadowing the return code in
amd_pmf_get_pb_data().

Compile-tested only.

Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Fixes: 7c45534afa44 ("platform/x86/amd/pmf: Add support for PMF Policy Binary")
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Reviewed-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://lore.kernel.org/r/20240304205005.10078-2-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/amd/pmf/tee-if.c

index 16973bebf55fe5c53441b8b0fed9691391b402ae..13dd4462e1e39c00d95b35d611c90acacb999bba 100644 (file)
@@ -269,7 +269,7 @@ static int amd_pmf_start_policy_engine(struct amd_pmf_dev *dev)
        } else {
                dev_err(dev->dev, "ta invoke cmd init failed err: %x\n", res);
                dev->smart_pc_enabled = PMF_SMART_PC_DISABLED;
-               return res;
+               return -EIO;
        }
 
        return 0;
@@ -309,8 +309,8 @@ static ssize_t amd_pmf_get_pb_data(struct file *filp, const char __user *buf,
 
        amd_pmf_hex_dump_pb(dev);
        ret = amd_pmf_start_policy_engine(dev);
-       if (ret)
-               return -EINVAL;
+       if (ret < 0)
+               return ret;
 
        return length;
 }