[PATCH 04/26] Input: synaptics-rmi4 - prevent oopses when irq arrives while the device is not bound

From: Andrew Duggan
Date: Thu Nov 05 2015 - 18:37:42 EST


From: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>

If the device has been registered but is not populated, we should not
process any incoming interrupt.
Make sure the pointers we are following are valid.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Tested-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx>
---
drivers/input/rmi4/rmi_driver.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_driver.c
index 2fdc7e8..fe5f2f9 100644
--- a/drivers/input/rmi4/rmi_driver.c
+++ b/drivers/input/rmi4/rmi_driver.c
@@ -279,6 +279,9 @@ int rmi_process_interrupt_requests(struct rmi_device *rmi_dev)
struct rmi_function *entry;
int error;

+ if (!data || !data->f01_container || !data->irq_status)
+ return 0;
+
error = rmi_read_block(rmi_dev,
data->f01_container->fd.data_base_addr + 1,
data->irq_status, data->num_of_irq_regs);
--
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/