[PATCH] drm/amd/pm: fix error flow in sensor fetching

SHANMUGAM, SRINIVASAN SRINIVASAN.SHANMUGAM at amd.com
Tue Aug 22 03:48:29 UTC 2023


[Public]

-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Alex Deucher
Sent: Friday, August 18, 2023 9:55 PM
To: amd-gfx at lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Jiapeng Chong <jiapeng.chong at linux.alibaba.com>
Subject: [PATCH] drm/amd/pm: fix error flow in sensor fetching

Sensor fetching functions should return an signed int to handle errors properly.

Reported-by: Jiapeng Chong <jiapeng.chong at linux.alibaba.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

Reviewed-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
---

 drivers/gpu/drm/amd/pm/amdgpu_pm.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/amdgpu_pm.c b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
index f03647fa3df6..a6697c266270 100644
--- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c
+++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
@@ -1467,9 +1467,9 @@ static ssize_t amdgpu_set_pp_power_profile_mode(struct device *dev,
        return -EINVAL;
 }

-static unsigned int amdgpu_hwmon_get_sensor_generic(struct amdgpu_device *adev,
-                                                   enum amd_pp_sensors sensor,
-                                                   void *query)
+static int amdgpu_hwmon_get_sensor_generic(struct amdgpu_device *adev,
+                                          enum amd_pp_sensors sensor,
+                                          void *query)
 {
        int r, size = sizeof(uint32_t);

@@ -2772,8 +2772,8 @@ static ssize_t amdgpu_hwmon_show_vddnb_label(struct device *dev,
        return sysfs_emit(buf, "vddnb\n");
 }

-static unsigned int amdgpu_hwmon_get_power(struct device *dev,
-                                          enum amd_pp_sensors sensor)
+static int amdgpu_hwmon_get_power(struct device *dev,
+                                 enum amd_pp_sensors sensor)
 {
        struct amdgpu_device *adev = dev_get_drvdata(dev);
        unsigned int uw;
@@ -2794,7 +2794,7 @@ static ssize_t amdgpu_hwmon_show_power_avg(struct device *dev,
                                           struct device_attribute *attr,
                                           char *buf)
 {
-       unsigned int val;
+       int val;

        val = amdgpu_hwmon_get_power(dev, AMDGPU_PP_SENSOR_GPU_AVG_POWER);
        if (val < 0)
@@ -2807,7 +2807,7 @@ static ssize_t amdgpu_hwmon_show_power_input(struct device *dev,
                                             struct device_attribute *attr,
                                             char *buf)
 {
-       unsigned int val;
+       int val;

        val = amdgpu_hwmon_get_power(dev, AMDGPU_PP_SENSOR_GPU_INPUT_POWER);
        if (val < 0)
--
2.41.0



More information about the amd-gfx mailing list