Fix runtime PM counter imbalance to prevent device from failing to enter low power state
Fixes: a50d32c41fb2 ("drm/amd/pm: Deprecate print_clock_levels interface")
Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
return ret;
ret = amdgpu_dpm_emit_clock_levels(adev, type, buf, &size);
- if (ret)
- return ret;
+ if (ret) {
+ size = ret;
+ goto out_pm_put;
+ }
if (size == 0)
size = sysfs_emit(buf, "\n");
+out_pm_put:
amdgpu_pm_put_access(adev);
return size;
return ret;
ret = amdgpu_dpm_emit_clock_levels(adev, od_type, buf, &size);
- if (ret)
- return ret;
+ if (ret) {
+ size = ret;
+ goto out_pm_put;
+ }
if (size == 0)
size = sysfs_emit(buf, "\n");
+out_pm_put:
amdgpu_pm_put_access(adev);
return size;