From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Duggan Subject: [PATCH] Input: synaptics-rmi4: Fix maximum size check for F12 control register 8 Date: Tue, 19 Jul 2016 16:43:41 -0700 Message-ID: <1468971821-16982-1-git-send-email-aduggan@synaptics.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Sender: linux-kernel-owner@vger.kernel.org To: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Andrew Duggan , Dmitry Torokhov , Jiri Kosina , Benjamin Tissoires , Vincent Huang , Nick Dyer , Chris Healy , Nitin Chaudhary , stable@vger.kernel.org List-Id: linux-input@vger.kernel.org According to the RMI4 spec the maximum size of F12 control register 8 is 15 bytes. The current code incorrectly reports an error if control 8 is greater then 14. Making sensors with a control register 8 with 15 bytes unusable. Signed-off-by: Andrew Duggan Reported-by: Chris Healy Cc: stable@vger.kernel.org --- drivers/input/rmi4/rmi_f12.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/input/rmi4/rmi_f12.c b/drivers/input/rmi4/rmi_f12.c index c30fd86..9b0d9f7 100644 --- a/drivers/input/rmi4/rmi_f12.c +++ b/drivers/input/rmi4/rmi_f12.c @@ -68,7 +68,7 @@ static int rmi_f12_read_sensor_tuning(struct f12_data *f12) struct rmi_device *rmi_dev = fn->rmi_dev; int ret; int offset; - u8 buf[14]; + u8 buf[15]; int pitch_x = 0; int pitch_y = 0; int clip_x_low = 0; @@ -88,8 +88,9 @@ static int rmi_f12_read_sensor_tuning(struct f12_data *f12) offset = rmi_register_desc_calc_reg_offset(&f12->control_reg_desc, 8); - if (item->reg_size > 14) { - dev_err(&fn->dev, "F12 control8 should be 14 bytes, not: %ld\n", + if (item->reg_size > 15) { + dev_err(&fn->dev, + "F12 control8 should be a maximum of 15 bytes, not: %ld\n", item->reg_size); return -ENODEV; } -- 2.7.4