HI Michel: 1. So far, I not sure which one causes the console_lock() fail, maybe I need enable kernel mutex debug feature to trace it. 2. Phenomenally, it can be restore to desktop normally. Do you know any methods to check it whether driver without calling amdgpu_fbdev_set_suspend(adev, 0) has side effect or not? Thanks JimQu ________________________________________ å??件人: Michel Dänzer <michel at daenzer.net> å??é??æ?¶é?´: 2016å¹´8æ??10æ?¥ 11:28:39 æ?¶ä»¶äºº: Qu, Jim æ??é??: amd-gfx at lists.freedesktop.org 主é¢?: Re: [PATCH] drm/amd/amdgpu: S3 resume fail On 10/08/16 12:24 PM, Michel Dänzer wrote: > On 10/08/16 12:04 PM, jimqu wrote: >> Doing S3 stress test, sometimes, driver can not get console lock. So use >> console_trylock() to instead it. > > This raises some questions: > > >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> index 087e520..bd5387d 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >> @@ -1889,9 +1889,6 @@ int amdgpu_resume_kms(struct drm_device *dev, bool resume, bool fbcon) >> if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) >> return 0; >> >> - if (fbcon) { >> - console_lock(); >> - } > > What else is holding console_lock at this time? Maybe something calls console_lock but not console_unlock? E.g. I see some error cases in amdgpu_resume_kms were this could happen. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer