From: Greg Kroah-Hartman Date: Wed, 20 Sep 2023 07:36:28 +0000 (+0200) Subject: fix up media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch X-Git-Tag: v5.10.196~30 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b3edd155300bc95687d5c94e1fe5009119e00f56;p=thirdparty%2Fkernel%2Fstable-queue.git fix up media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch --- diff --git a/queue-4.14/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch b/queue-4.14/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch index fa508484bf9..db9f1de86d4 100644 --- a/queue-4.14/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch +++ b/queue-4.14/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch @@ -1,4 +1,4 @@ -From 6657d7b29bbd5bb71bf00dcfac618511f1ec1127 Mon Sep 17 00:00:00 2001 +From 0fae4e3b5898fb0a53b6f6466dace9b4de3377c0 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 6 Jul 2023 00:06:54 +0800 Subject: media: dvb-usb-v2: af9035: Fix null-ptr-deref in @@ -21,33 +21,45 @@ commit 0ed554fd769a Signed-off-by: Zhang Shurong Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin +[ moved variable declaration to fix build issues in older kernels - gregkh ] +Signed-off-by: Greg Kroah-Hartman --- - drivers/media/usb/dvb-usb-v2/af9035.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) + drivers/media/usb/dvb-usb-v2/af9035.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) -diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c -index 1f6c1eefe3892..55c7e7348869b 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c -@@ -336,6 +336,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, +@@ -284,6 +284,7 @@ static int af9035_i2c_master_xfer(struct + struct dvb_usb_device *d = i2c_get_adapdata(adap); + struct state *state = d_to_priv(d); + int ret; ++ u32 reg; + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; +@@ -336,8 +337,10 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3 || msg[1].len < 1) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -395,6 +397,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + + if (msg[0].addr == state->af9033_i2c_addr[1]) +@@ -395,17 +398,16 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -402,10 +406,7 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + if (msg[0].addr == state->af9033_i2c_addr[1]) reg |= 0x100000; @@ -59,6 +71,3 @@ index 1f6c1eefe3892..55c7e7348869b 100644 } else { /* I2C write */ u8 buf[MAX_XFER_SIZE]; --- -2.40.1 - diff --git a/queue-4.19/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch b/queue-4.19/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch index e710165afe1..db9f1de86d4 100644 --- a/queue-4.19/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch +++ b/queue-4.19/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch @@ -1,4 +1,4 @@ -From 24924b3aa7d477683b3c05bfed68f95315996e21 Mon Sep 17 00:00:00 2001 +From 0fae4e3b5898fb0a53b6f6466dace9b4de3377c0 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 6 Jul 2023 00:06:54 +0800 Subject: media: dvb-usb-v2: af9035: Fix null-ptr-deref in @@ -21,33 +21,45 @@ commit 0ed554fd769a Signed-off-by: Zhang Shurong Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin +[ moved variable declaration to fix build issues in older kernels - gregkh ] +Signed-off-by: Greg Kroah-Hartman --- - drivers/media/usb/dvb-usb-v2/af9035.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) + drivers/media/usb/dvb-usb-v2/af9035.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) -diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c -index 1f6c1eefe3892..55c7e7348869b 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c -@@ -336,6 +336,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, +@@ -284,6 +284,7 @@ static int af9035_i2c_master_xfer(struct + struct dvb_usb_device *d = i2c_get_adapdata(adap); + struct state *state = d_to_priv(d); + int ret; ++ u32 reg; + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; +@@ -336,8 +337,10 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3 || msg[1].len < 1) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -395,6 +397,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + + if (msg[0].addr == state->af9033_i2c_addr[1]) +@@ -395,17 +398,16 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -402,10 +406,7 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + if (msg[0].addr == state->af9033_i2c_addr[1]) reg |= 0x100000; @@ -59,6 +71,3 @@ index 1f6c1eefe3892..55c7e7348869b 100644 } else { /* I2C write */ u8 buf[MAX_XFER_SIZE]; --- -2.40.1 - diff --git a/queue-5.10/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch b/queue-5.10/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch index cef2389fca3..e8facf54b6a 100644 --- a/queue-5.10/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch +++ b/queue-5.10/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch @@ -1,4 +1,4 @@ -From d6fa65ad7f3d470de0302f846997741140917c7d Mon Sep 17 00:00:00 2001 +From 0fae4e3b5898fb0a53b6f6466dace9b4de3377c0 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 6 Jul 2023 00:06:54 +0800 Subject: media: dvb-usb-v2: af9035: Fix null-ptr-deref in @@ -21,33 +21,45 @@ commit 0ed554fd769a Signed-off-by: Zhang Shurong Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin +[ moved variable declaration to fix build issues in older kernels - gregkh ] +Signed-off-by: Greg Kroah-Hartman --- - drivers/media/usb/dvb-usb-v2/af9035.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) + drivers/media/usb/dvb-usb-v2/af9035.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) -diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c -index b1f69c11c8395..218c06da2a469 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c -@@ -321,6 +321,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, +@@ -269,6 +269,7 @@ static int af9035_i2c_master_xfer(struct + struct dvb_usb_device *d = i2c_get_adapdata(adap); + struct state *state = d_to_priv(d); + int ret; ++ u32 reg; + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; +@@ -321,8 +322,10 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3 || msg[1].len < 1) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -380,6 +382,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + + if (msg[0].addr == state->af9033_i2c_addr[1]) +@@ -380,17 +383,16 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -387,10 +391,7 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + if (msg[0].addr == state->af9033_i2c_addr[1]) reg |= 0x100000; @@ -59,6 +71,3 @@ index b1f69c11c8395..218c06da2a469 100644 } else { /* I2C write */ u8 buf[MAX_XFER_SIZE]; --- -2.40.1 - diff --git a/queue-5.15/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch b/queue-5.15/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch index ecdb0ec86eb..48277f9de82 100644 --- a/queue-5.15/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch +++ b/queue-5.15/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch @@ -1,4 +1,4 @@ -From bb3bea574b69a3d7849905e008890aced7be6a42 Mon Sep 17 00:00:00 2001 +From 0fae4e3b5898fb0a53b6f6466dace9b4de3377c0 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 6 Jul 2023 00:06:54 +0800 Subject: media: dvb-usb-v2: af9035: Fix null-ptr-deref in @@ -21,33 +21,45 @@ commit 0ed554fd769a Signed-off-by: Zhang Shurong Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin +[ moved variable declaration to fix build issues in older kernels - gregkh ] +Signed-off-by: Greg Kroah-Hartman --- - drivers/media/usb/dvb-usb-v2/af9035.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) + drivers/media/usb/dvb-usb-v2/af9035.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) -diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c -index 5eef37b00a520..39d9e4f7682c2 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c -@@ -322,6 +322,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, +@@ -270,6 +270,7 @@ static int af9035_i2c_master_xfer(struct + struct dvb_usb_device *d = i2c_get_adapdata(adap); + struct state *state = d_to_priv(d); + int ret; ++ u32 reg; + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; +@@ -322,8 +323,10 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3 || msg[1].len < 1) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -381,6 +383,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + + if (msg[0].addr == state->af9033_i2c_addr[1]) +@@ -381,17 +384,16 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -388,10 +392,7 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + if (msg[0].addr == state->af9033_i2c_addr[1]) reg |= 0x100000; @@ -59,6 +71,3 @@ index 5eef37b00a520..39d9e4f7682c2 100644 } else { /* I2C write */ u8 buf[MAX_XFER_SIZE]; --- -2.40.1 - diff --git a/queue-5.4/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch b/queue-5.4/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch index 7f8ee2a2209..e8facf54b6a 100644 --- a/queue-5.4/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch +++ b/queue-5.4/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch @@ -1,4 +1,4 @@ -From 39d6580085ee6fc9a5bd164f6e61742ece9d71be Mon Sep 17 00:00:00 2001 +From 0fae4e3b5898fb0a53b6f6466dace9b4de3377c0 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 6 Jul 2023 00:06:54 +0800 Subject: media: dvb-usb-v2: af9035: Fix null-ptr-deref in @@ -21,33 +21,45 @@ commit 0ed554fd769a Signed-off-by: Zhang Shurong Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin +[ moved variable declaration to fix build issues in older kernels - gregkh ] +Signed-off-by: Greg Kroah-Hartman --- - drivers/media/usb/dvb-usb-v2/af9035.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) + drivers/media/usb/dvb-usb-v2/af9035.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) -diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c -index 3afd18733614a..3a7e5f2f6e951 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c -@@ -321,6 +321,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, +@@ -269,6 +269,7 @@ static int af9035_i2c_master_xfer(struct + struct dvb_usb_device *d = i2c_get_adapdata(adap); + struct state *state = d_to_priv(d); + int ret; ++ u32 reg; + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; +@@ -321,8 +322,10 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3 || msg[1].len < 1) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -380,6 +382,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + + if (msg[0].addr == state->af9033_i2c_addr[1]) +@@ -380,17 +383,16 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -387,10 +391,7 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + if (msg[0].addr == state->af9033_i2c_addr[1]) reg |= 0x100000; @@ -59,6 +71,3 @@ index 3afd18733614a..3a7e5f2f6e951 100644 } else { /* I2C write */ u8 buf[MAX_XFER_SIZE]; --- -2.40.1 - diff --git a/queue-6.1/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch b/queue-6.1/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch index 0e8f171ac41..48277f9de82 100644 --- a/queue-6.1/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch +++ b/queue-6.1/media-dvb-usb-v2-af9035-fix-null-ptr-deref-in-af9035.patch @@ -21,33 +21,45 @@ commit 0ed554fd769a Signed-off-by: Zhang Shurong Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin +[ moved variable declaration to fix build issues in older kernels - gregkh ] +Signed-off-by: Greg Kroah-Hartman --- - drivers/media/usb/dvb-usb-v2/af9035.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) + drivers/media/usb/dvb-usb-v2/af9035.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) -diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c -index 1e9c8d01523be..33a2aa8907e65 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c -@@ -322,6 +322,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, +@@ -270,6 +270,7 @@ static int af9035_i2c_master_xfer(struct + struct dvb_usb_device *d = i2c_get_adapdata(adap); + struct state *state = d_to_priv(d); + int ret; ++ u32 reg; + + if (mutex_lock_interruptible(&d->i2c_mutex) < 0) + return -EAGAIN; +@@ -322,8 +323,10 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3 || msg[1].len < 1) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -381,6 +383,8 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + + if (msg[0].addr == state->af9033_i2c_addr[1]) +@@ -381,17 +384,16 @@ static int af9035_i2c_master_xfer(struct ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { + if (msg[0].len < 3) + return -EOPNOTSUPP; /* demod access via firmware interface */ - u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | +- u32 reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | ++ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; -@@ -388,10 +392,7 @@ static int af9035_i2c_master_xfer(struct i2c_adapter *adap, + if (msg[0].addr == state->af9033_i2c_addr[1]) reg |= 0x100000; @@ -59,6 +71,3 @@ index 1e9c8d01523be..33a2aa8907e65 100644 } else { /* I2C write */ u8 buf[MAX_XFER_SIZE]; --- -2.40.1 -