diff options
author | Armin Wolf <W_Armin@gmx.de> | 2024-03-04 21:50:02 +0100 |
---|---|---|
committer | Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> | 2024-03-12 12:48:02 +0200 |
commit | d1e33cd66670cd9c07258398ffe93961d2089287 (patch) | |
tree | cd5993da9458a99450b893602a4faefccaa8d4d5 /drivers/platform/x86 | |
parent | 7c8772fef2c25b951660ff31aa1d2174b45af043 (diff) | |
download | linux-d1e33cd66670cd9c07258398ffe93961d2089287.tar.gz linux-d1e33cd66670cd9c07258398ffe93961d2089287.tar.bz2 linux-d1e33cd66670cd9c07258398ffe93961d2089287.zip |
platform/x86/amd/pmf: Fix return value of amd_pmf_start_policy_engine()
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>
Diffstat (limited to 'drivers/platform/x86')
-rw-r--r-- | drivers/platform/x86/amd/pmf/tee-if.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c index 16973bebf55f..13dd4462e1e3 100644 --- a/drivers/platform/x86/amd/pmf/tee-if.c +++ b/drivers/platform/x86/amd/pmf/tee-if.c @@ -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; } |