What I noticed from the kern.log is that it seems to try and skip init steps the second time amdgpu loads. So perhaps the unbind doesn't do a clean enough shutdown or there may be a bug in the init step skipping. For example, the first time: > [ 129.439652] amdgpu 0000:01:00.0: enabling device (0000 -> 0003) > ... > [ 129.918128] [drm] GPU posting now... The second time: No mention of enabling device. > [ 159.722828] [drm] GPU post is not needed