On 14/02/17 12:16 PM, Tom St Denis wrote: > On 14/02/17 12:01 PM, Samuel Pitoiset wrote: >> No worries. I thought that check was enough. Anyway, writing code >> without the hardware should be avoided. :) >> >> Can you try the thing suggested by Alex? Because I will need to fix up >> the DRM ioctl codepath as well. > > Sure, I'm building a module with a amdgpu_dpm check near the top of the > debugfs read function. It seems returning an error code causes it to do "bad things" on read [root at kaveri linux]# git diff diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 80821b4..d63c443 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -3198,6 +3198,9 @@ static ssize_t amdgpu_debugfs_sensor_read(struct file *f, char __user *buf, if (size & 3 || *pos & 0x3) return -EINVAL; + if (amdgpu_dpm == 0) + return -EINVAL; + /* convert offset to sensor number */ idx = *pos >> 2; That's what I applied on top of Samuel's three patches. With DPM enabled it works fine obviously, with it disabled the entire system hangs. I think probably because the VFS spins trying to read but never finishes... Any ideas? Tom