On 22/09/2025 08:54, Thomas Zimmermann wrote:
Hi Melissa
Am 19.09.25 um 17:54 schrieb Melissa Wen:
Hi all,
I just talked with Thomas that these two patches are preventing amdgpu
driver to be unloaded:
`modprobe: FATAL: Module amdgpu is in use.`
and there is no process using the driver.
What's the exact STR for this problem? After Christian's comments, I
tried to reproduce the issue, but it works on my system. I do
- boot up with amdgpu in text mode (multiuser.target)
- login by serial console
- 'rmmod amdgpu'
That last step turns my test system's display off and unloads amdgpu.
The kernel is a recent drm-tip at v6.17-rc6.
- I booted up in graphical.target;
- Connected via ssh, dropped the graphical interface to text mode
(multiuser.target), and tried to remove the module with `modprobe -r amdgpu`
The issue happened in the latest 6.16 kernel version from Debian (I
don't have the machine with me atm to check the exact version), but also
with mainline kernel from last week.
I bisected kernel from 6.16 and 6.15 and IIRC git bisect pointed to
`drm/framebuffer: Acquire internal references on GEM handles`, but as it
triggers another trace and AFAIU fixes `drm/gem: Acquire references on
GEM handles for framebuffers`, I reverted both pacthes and amdgpu
loaded/unloaded as expected.
IGT amdgpu-specific tests for loading and unloading are also failing
because it's not able to unload the module.
I didn't run the generic test.
I'm using an AMD Cezanne laptop with a touch-screen capable display (hp
envy x360 convertible) with Debian + Gnome.
I looked for process using the modules, but I didn't find any.
BTW, I don't discard that this work uncovered a preexist problem, for
example.
Since those patches are addressing other issues, as mentioned by
Maarten, I'll debug the amdgpu driver further and check the points raised.
Best Regards,
Melissa
Best regards
Thomas
We agreed that the best approach now is to completely revert the work
done for improving DMA bug handling to avoid any loose ends. With these
reverts we are just back to the old behavior and amdgpu loading and
unloading will return to normal.
Best Regards,
Melissa
Melissa Wen (2):
Revert "drm/framebuffer: Acquire internal references on GEM handles"
Revert "drm/gem: Acquire references on GEM handles for framebuffers"
drivers/gpu/drm/drm_framebuffer.c | 31 +--------------
drivers/gpu/drm/drm_gem.c | 64 +++++--------------------------
drivers/gpu/drm/drm_internal.h | 2 -
include/drm/drm_framebuffer.h | 7 ----
4 files changed, 11 insertions(+), 93 deletions(-)