Bug 36037

Summary: RV250Lf: airlied/drm-fixes branch crashes in new backlight code
Product: DRI Reporter: Johannes Obermayr <johannesobermayr>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: mjg59
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
dmesg
none
Debugging patch
none
dmesg none

Description Johannes Obermayr 2011-04-06 13:23:11 UTC
Created attachment 45356 [details]
dmesg

See summary and backtrace.

I assume 63ec0119d3720034dfd626c9785aefa5a6f972ca is the offender.
Comment 1 Matthew Garrett 2011-04-06 14:26:25 UTC
Michel? I don't have hardware to test this...
Comment 2 Michel Dänzer 2011-04-07 02:58:34 UTC
Looks like one of the pointers in radeon_legacy_backlight_get_brightness() is NULL, but I'm not sure which one that could be. Johannes, can you add some debugging output to see which one it is?
Comment 3 Johannes Obermayr 2011-04-07 07:27:13 UTC
Created attachment 45373 [details]
dmesg

(In reply to comment #2)
> Looks like one of the pointers in radeon_legacy_backlight_get_brightness() is
> NULL, but I'm not sure which one that could be. Johannes, can you add some
> debugging output to see which one it is?

boot parameter: drm.debug=255 nomodeset 3
then a 'rmmod radeon'
and finally a 'modprobe radeon'
Comment 4 Michel Dänzer 2011-04-07 07:51:26 UTC
Thanks, but I mean modifying radeon_legacy_backlight_get_brightness() to print the value of each pointer before dereferencing it. If you don't know how to do that, I can try whipping up a test patch.
Comment 5 Michel Dänzer 2011-04-07 08:35:56 UTC
Created attachment 45386 [details] [review]
Debugging patch

This patch (only compile tested) should print the pointer values before referencing them, and bail if one of them is NULL. This should also avoid the immediate crash, but it might still crash elsewhere later on.
Comment 6 Johannes Obermayr 2011-04-07 10:03:15 UTC
Created attachment 45392 [details]
dmesg

dmesg output with applied Debugging patch
Comment 7 Johannes Obermayr 2011-04-07 11:00:32 UTC
After a second and third try (after reboots) I got:

[drm] pdata=00000072

I assume it is the value I receive each time now.
Comment 8 Michel Dänzer 2011-04-14 07:59:21 UTC
So bl_get_data() returns NULL in radeon_legacy_backlight_get_brightness(). I'm stumped as to how that could happen... Any ideas, Matthew?
Comment 9 Matthew Garrett 2011-04-14 08:29:30 UTC
That's bizarre. I can't see any obvious way this could happen.
Comment 10 Johannes Obermayr 2012-01-04 05:06:07 UTC
It does not crash when building against recent kernels.

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.