Message ID | 20131106224344.GB8378@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Nov 06, 2013 at 05:43:45PM -0500, Jerome Glisse wrote: > On Wed, Nov 06, 2013 at 05:48:55PM +0000, Robin H. Johnson wrote: > > On Wed, Nov 06, 2013 at 12:16:31PM -0500, Alex Deucher wrote: > > > On Wed, Nov 6, 2013 at 12:14 PM, Robin H. Johnson <robbat2@gentoo.org> wrote: > > > > (Resending to dri-devel because the first one didn't make it). > > > > > > > > I apologize for not sending this sooner, but I wanted to be really sure that I > > > > wasn't introducing the bug elsewhere, and I was lacking time to even narrow it > > > > down this far. > > > > > > > > TL;DR: > > > > 3.11 kernel does proper modeset for dual 1920x1200 outputs > > > > 3.12-rc5/rc7 kernel fails to do proper modeset, blank screen after radeon loaded > > > Can you bisect? > > I have the next step in the bisect prepared (taking an educated guess > > and deciding that rc1 was probably also bad, because the changes after > > rc1 were minimal), but this is my primary box for getting work done; so > > I haven't rebooted since writing my email and preparing that next > > kernel. > > > Possible fix attached. I'll test later tonight or tomorrow when I can manage a reboot again.
diff --git a/drivers/gpu/drm/radeon/atombios_i2c.c b/drivers/gpu/drm/radeon/atombios_i2c.c index deaf98c..0652ee0 100644 --- a/drivers/gpu/drm/radeon/atombios_i2c.c +++ b/drivers/gpu/drm/radeon/atombios_i2c.c @@ -56,8 +56,10 @@ static int radeon_process_i2c_ch(struct radeon_i2c_chan *chan, return -EINVAL; } args.ucRegIndex = buf[0]; - if (num > 1) - memcpy(&out, &buf[1], num - 1); + if (num > 1) { + num--; + memcpy(&out, &buf[1], num); + } args.lpI2CDataOut = cpu_to_le16(out); } else { if (num > ATOM_MAX_HW_I2C_READ) {