]> www.infradead.org Git - users/dwmw2/linux.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Aug 2020 07:59:43 +0000 (09:59 +0200)
commit 87004abfbc27261edd15716515d89ab42198b405 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@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c

index b66554b40db483b17cd9e90a5f9af5ad63685816..3f744e72912f11b2c4036b7ba053cc78af9f1698 100644 (file)
@@ -691,7 +691,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;
@@ -882,7 +883,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)
@@ -1298,7 +1300,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) {
                                count = -EINVAL;