[Bug 66932] Screen corruption on Cayman with dpm enabled

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jul 17 04:09:00 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=66932

--- Comment #12 from Martin Andersson <g02maran at gmail.com> ---
Take this information with a grain of salt, since I'm testing stuff without
really knowing whats going on.

I found it interesting that the dmesg with the mc dump didn't print anything
from the first for loop in the patch, so I did some testing.

I added a bunch of debug printks to radeon_atom_init_mc_reg_table to see what
was happening. I found that num_entries is 13, but what was more interesting
was that some printks was skipped and now I got a kernel oops (NULL pointer
dereference).

It looked like this while loop was executed once (without problems), then
strange things happended:
while (!(reg_block->asRegIndexBuf[i].ucPreRegDataLength &
ACCESS_PLACEHOLDER)...

So I added this printk before and after "i++;" in that while loop:
printk(KERN_INFO "debug=%u", reg_block->asRegIndexBuf[i].ucPreRegDataLength);

gcc didn't complain about the first printk but for the second it said this:
drivers/gpu/drm/radeon/radeon_atombios.c:3741:60: warning: array subscript is
above array bounds [-Warray-bounds]

It might be a false positive but it matches with my debug printks, everything
is fine until the second iteration in that while loop. After that the execution
jumps further down in the function and crashes.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130717/f5d52cd5/attachment.html>


More information about the dri-devel mailing list