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 at 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.

Cheers,
Jerome

> -- 
> Robin Hugh Johnson
> Gentoo Linux: Developer, Trustee & Infrastructure Lead
> E-Mail     : robbat2 at gentoo.org
> GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
-------------- next part --------------
>From c3d9451b9183182678e5faa62622992dbff80cdf Mon Sep 17 00:00:00 2001
From: Jerome Glisse <jgli...@redhat.com>
Date: Wed, 6 Nov 2013 17:42:02 -0500
Subject: [PATCH] radeon/i2c: do not count reg index in number of i2c byte we
 are writting.

Useless to count the register index in number of bytes we are writting.

Signed-off-by: Jerome Glisse <jglisse at redhat.com>
---
 drivers/gpu/drm/radeon/atombios_i2c.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

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) {
-- 
1.8.3.1

Reply via email to