Messages in this thread | | | Date | Mon, 9 Nov 2015 15:16:10 -0800 | From | Dmitry Torokhov <> | Subject | Re: [PATCH 04/26] Input: synaptics-rmi4 - prevent oopses when irq arrives while the device is not bound |
| |
On Thu, Nov 05, 2015 at 03:37:25PM -0800, Andrew Duggan wrote: > From: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > 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.
Why are the interrupts enabled when device is not ready?
> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > Tested-by: Andrew Duggan <aduggan@synaptics.com> > --- > 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 >
-- Dmitry
| |