]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/amd/pm: fix error flow in sensor fetching
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 18 Aug 2023 16:21:32 +0000 (12:21 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 30 Aug 2023 19:20:36 +0000 (15:20 -0400)
Sensor fetching functions should return an signed int to
handle errors properly.

Reviewed-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reported-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/amdgpu_pm.c

index 41147da54458943b4b70ae9664b3860b00193f68..5b1efd9a0e3ad182b971fe4a2588757d14bacfb0 100644 (file)
@@ -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)