Bug 36037 - RV250Lf: airlied/drm-fixes branch crashes in new backlight code
Summary: RV250Lf: airlied/drm-fixes branch crashes in new backlight code
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-06 13:23 UTC by Johannes Obermayr
Modified: 2012-01-04 05:06 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (6.55 KB, text/plain)
2011-04-06 13:23 UTC, Johannes Obermayr
no flags Details
dmesg (7.76 KB, text/plain)
2011-04-07 07:27 UTC, Johannes Obermayr
no flags Details
Debugging patch (1.27 KB, patch)
2011-04-07 08:35 UTC, Michel Dänzer
no flags Details | Splinter Review
dmesg (8.96 KB, text/plain)
2011-04-07 10:03 UTC, Johannes Obermayr
no flags Details

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.