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.
}
ctrl_base_addr += data->num_of_irq_regs;
--
Christopher Heiny
Senior Staff Firmware Engineer
Synaptics Incorporated
--
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