[tip: perf/urgent] Revert "drm/amdgpu: Fix NULL dereference in dpm sysfs handlers"

From: tip-bot2 for Alex Deucher
Date: Mon Oct 19 2020 - 13:02:47 EST


The following commit has been merged into the perf/urgent branch of tip:

Commit-ID: ffdf9f8550ee675d4270bbaa5721a6f3116d137e
Gitweb: https://git.kernel.org/tip/ffdf9f8550ee675d4270bbaa5721a6f3116d137e
Author: Alex Deucher <alexander.deucher@xxxxxxx>
AuthorDate: Thu, 30 Jul 2020 11:02:30 -04:00
Committer: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
CommitterDate: Sat, 17 Oct 2020 08:31:22 +02:00

Revert "drm/amdgpu: Fix NULL dereference in dpm sysfs handlers"

commit 2456c290a7889be492cb96092b62d16c11176f72 upstream.

This regressed some working configurations so revert it. Will
fix this properly for 5.9 and backport then.

This reverts commit 38e0c89a19fd13f28d2b4721035160a3e66e270b.

Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
index e4dbf14..5bf4212 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
@@ -796,7 +796,8 @@ static ssize_t amdgpu_set_pp_od_clk_voltage(struct device *dev,
tmp_str++;
while (isspace(*++tmp_str));

- while ((sub_str = strsep(&tmp_str, delimiter)) != NULL) {
+ while (tmp_str[0]) {
+ sub_str = strsep(&tmp_str, delimiter);
ret = kstrtol(sub_str, 0, &parameter[parameter_size]);
if (ret)
return -EINVAL;
@@ -1066,7 +1067,8 @@ static ssize_t amdgpu_read_mask(const char *buf, size_t count, uint32_t *mask)
memcpy(buf_cpy, buf, bytes);
buf_cpy[bytes] = '\0';
tmp = buf_cpy;
- while ((sub_str = strsep(&tmp, delimiter)) != NULL) {
+ while (tmp[0]) {
+ sub_str = strsep(&tmp, delimiter);
if (strlen(sub_str)) {
ret = kstrtol(sub_str, 0, &level);
if (ret)
@@ -1695,7 +1697,8 @@ static ssize_t amdgpu_set_pp_power_profile_mode(struct device *dev,
i++;
memcpy(buf_cpy, buf, count-i);
tmp_str = buf_cpy;
- while ((sub_str = strsep(&tmp_str, delimiter)) != NULL) {
+ while (tmp_str[0]) {
+ sub_str = strsep(&tmp_str, delimiter);
ret = kstrtol(sub_str, 0, &parameter[parameter_size]);
if (ret)
return -EINVAL;