[Bug 66932] Screen corruption on Cayman with dpm enabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Comment # 12 on bug 66932 from
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:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux