diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_i2c.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_i2c.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_i2c.c b/drivers/gpu/drm/radeon/atombios_i2c.c index deaf98cdca3a..0652ee0a2098 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, | |||
56 | return -EINVAL; | 56 | return -EINVAL; |
57 | } | 57 | } |
58 | args.ucRegIndex = buf[0]; | 58 | args.ucRegIndex = buf[0]; |
59 | if (num > 1) | 59 | if (num > 1) { |
60 | memcpy(&out, &buf[1], num - 1); | 60 | num--; |
61 | memcpy(&out, &buf[1], num); | ||
62 | } | ||
61 | args.lpI2CDataOut = cpu_to_le16(out); | 63 | args.lpI2CDataOut = cpu_to_le16(out); |
62 | } else { | 64 | } else { |
63 | if (num > ATOM_MAX_HW_I2C_READ) { | 65 | if (num > ATOM_MAX_HW_I2C_READ) { |