]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Revert "drm/amdgpu: Fix NULL dereference in dpm sysfs handlers"
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Jul 2020 15:02:30 +0000 (11:02 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Jul 2020 19:36:44 +0000 (15:36 -0400)
This regressed some working configurations so revert it.  Will
fix this properly for 5.9 and backport then.

This reverts commit b006edf4d6419c25e93fb4a2dbeef2ecb3419785.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c

index f44157daf3ec30ea6ea4f95ec8e5a91e3e7c30af..576e3ac9836579eb997c630ede172939d4902e3a 100644 (file)
@@ -872,7 +872,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;
@@ -1165,7 +1166,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)
@@ -1858,7 +1860,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;