From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Torokhov Subject: Re: [PATCH] Input: synaptics-rmi4: Fix maximum size check for F12 control register 8 Date: Tue, 19 Jul 2016 17:00:05 -0700 Message-ID: <20160720000005.GE19250@dtor-ws> References: <1468971821-16982-1-git-send-email-aduggan@synaptics.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1468971821-16982-1-git-send-email-aduggan@synaptics.com> Sender: stable-owner@vger.kernel.org To: Andrew Duggan Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Kosina , Benjamin Tissoires , Vincent Huang , Nick Dyer , Chris Healy , Nitin Chaudhary , stable@vger.kernel.org List-Id: linux-input@vger.kernel.org On Tue, Jul 19, 2016 at 04:43:41PM -0700, Andrew Duggan wrote: > 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) { Do you mind if I change this to sizeof(buf)? > + dev_err(&fn->dev, > + "F12 control8 should be a maximum of 15 bytes, not: %ld\n", > item->reg_size); > return -ENODEV; > } > -- > 2.7.4 > -- Dmitry