drm/amd/pm: fix error flow in sensor fetching
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>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user