On Wed, Feb 05, 2014 at 12:10:49AM +0100, Christopher Heiny wrote:
> On 01/23/2014 04:00 PM, Courtney Cavin wrote:
> > Cc: Christopher Heiny <[email protected]>
> > Cc: Dmitry Torokhov <[email protected]>
> > Signed-off-by: Courtney Cavin <[email protected]>
> > ---
> >   drivers/input/rmi4/rmi_f01.c | 16 +++++++++-------
> >   1 file changed, 9 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/input/rmi4/rmi_f01.c b/drivers/input/rmi4/rmi_f01.c
> > index 22b57f2..06fc5bc 100644
> > --- a/drivers/input/rmi4/rmi_f01.c
> > +++ b/drivers/input/rmi4/rmi_f01.c
> > @@ -318,13 +318,15 @@ static int rmi_f01_initialize(struct rmi_function *fn)
> >     ctrl_base_addr += sizeof(u8);
> >
> >     data->interrupt_enable_addr = ctrl_base_addr;
> > -   error = rmi_read_block(rmi_dev, ctrl_base_addr,
> > -                           data->device_control.interrupt_enable,
> > -                           sizeof(u8) * (data->num_of_irq_regs));
> > -   if (error < 0) {
> > -           dev_err(&fn->dev,
> > -                   "Failed to read F01 control interrupt enable 
> > register.\n");
> > -           goto error_exit;
> > +   if (data->num_of_irq_regs > 0) {
> > +           error = rmi_read_block(rmi_dev, ctrl_base_addr,
> > +                                   data->device_control.interrupt_enable,
> > +                                   sizeof(u8) * (data->num_of_irq_regs));
> > +           if (error < 0) {
> > +                   dev_err(&fn->dev,
> > +                           "Failed to read F01 control interrupt enable 
> > register.\n");
> > +                   goto error_exit;
> > +           }
> 
> If we don't know the number of IRQ registers at this point, we're 
> basically screwed, as most of the control register positions will be 
> known correctly.  The previously submitted IRQ counting patch ensures 
> that number of IRQ registers is know by this point - if they aren't, 
> then we should probably fail entirely rather than just muddling along.
> 

Sounds good.  I just needed this to prevent random failure cases during
testing.  If your patch solves this problem, then it's probably a much
better way to address this.

> >     }
> >
> >     ctrl_base_addr += data->num_of_irq_regs;
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to