summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2018-03-08 11:07:30 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2018-03-08 11:07:30 -0800
commitc6380ecd8e9bee7aba3d9a5a94b58168244c4a61 (patch)
treef8d9522c66e805f638399e094f8e0dfd92584d06 /drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
parentcdc2466df40f26af60f6b18123069bd52336a80c (diff)
parent661e50bc853209e41a5c14a290ca4decc43cbfd1 (diff)
Merge tag 'v4.16-rc4' into next
Sync up with mainline to bring in RAVE MFD device core.
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/atombios_i2c.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/atombios_i2c.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/atombios_i2c.c b/drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
index b374653bd6cf..f9b2ce9a98f3 100644
--- a/drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
@@ -65,8 +65,15 @@ static int amdgpu_atombios_i2c_process_i2c_ch(struct amdgpu_i2c_chan *chan,
args.ucRegIndex = buf[0];
if (num)
num--;
- if (num)
- memcpy(&out, &buf[1], num);
+ if (num) {
+ if (buf) {
+ memcpy(&out, &buf[1], num);
+ } else {
+ DRM_ERROR("hw i2c: missing buf with num > 1\n");
+ r = -EINVAL;
+ goto done;
+ }
+ }
args.lpI2CDataOut = cpu_to_le16(out);
} else {
if (num > ATOM_MAX_HW_I2C_READ) {