Bug 28592

Summary: When KMS is enabled, radeon module freezes system on load
Product: xorg Reporter: Lucas Paul <reilithion>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Lucas Paul 2010-06-17 15:10:01 UTC
On some systems, when kernel mode-setting is enabled, attempting to load the radeon module at any time will cause the system to freeze and become non-responsive.  If the radeon module is compiled into the kernel, the system will freeze during boot.

This bug was introduced in commit 6a9ee8a to the Linux kernel (affecting users of any kernel later than version 2.6.33).

Commenting out the following lines in drivers/gpu/drm/radeon/radeon_bios.c will work around the issue:

if (r == false)
    r = igp_read_bios_from_vram(rdev);

According to Dave Airlie:
Its trying to read the BIOS from VRAM, but the GPU probably isn't posted yet, so the VRAM isn't setup.  We used to check for that only on IGP chips, but I've see the BIOS in VRAM on the switcheroo machines as well so I dropped the check for IGPs but broke unposted GPUs
Comment 1 Dave Airlie 2010-06-20 20:57:40 UTC
I've pushed a new drm-fixes tree with a possible fix for this

http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commit;h=56d29d81e729532e4fdbf3c06a3222535f52c936

Please either try the drm-fixes tree or this patch on top of Linus.
Comment 2 Lucas Paul 2010-06-30 00:55:50 UTC
(In reply to comment #1)
> I've pushed a new drm-fixes tree with a possible fix for this
> 
> http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commit;h=56d29d81e729532e4fdbf3c06a3222535f52c936
> 
> Please either try the drm-fixes tree or this patch on top of Linus.

Yes.  That patch appears to fix the issue.  Thank you.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.