linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 04/26] Input: synaptics-rmi4 - prevent oopses when irq arrives while the device is not bound
@ 2015-11-05 23:37 Andrew Duggan
  2015-11-09 12:58 ` Linus Walleij
  2015-11-09 23:16 ` Dmitry Torokhov
  0 siblings, 2 replies; 5+ messages in thread
From: Andrew Duggan @ 2015-11-05 23:37 UTC (permalink / raw)
  To: linux-input, linux-kernel
  Cc: Benjamin Tissoires, Dmitry Torokhov, Linus Walleij,
	Benjamin Tissoires, Christopher Heiny, Stephen Chandler Paul

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.

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [PATCH 00/26] Consolidate patches and add support for new devices
@ 2015-11-05 23:34 Andrew Duggan
  2015-11-05 23:34 ` [PATCH 04/26] Input: synaptics-rmi4 - prevent oopses when irq arrives while the device is not bound Andrew Duggan
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Duggan @ 2015-11-05 23:34 UTC (permalink / raw)
  To: linux-input, linux-kernel
  Cc: Andrew Duggan, Dmitry Torokhov, Linus Walleij, Benjamin Tissoires,
	Christopher Heiny, Stephen Chandler Paul

NOTE: This patch set applies to synaptics-rmi4 branch in
Dmitry Torokhov's input tree.

This patch set consolidates some outstanding patches and then builds on
that to add support for new devices. The first 11 patches were provided
by Benjamin Tissoires with slight modifications. The remainder of the
patches remove unused functionality, consolidates the code for
2D sensors, and adds support for newer devices which use F12 for
reporting 2D sensing.

This patchset applies cleanly to the synaptics-rmi4 branch, but does not
successfully build because the synaptics-rmi4 branch is based on the 3.14
kernel and the patches make use of functionality introduced in later
kernels. I would suggest updating the synaptics-rmi4 branch to something
more resent. I also have some additional patches which convert hid-rmi
into a transport driver for rmi_core. I held off submitting since 3.14
doesn't contain hid-rmi. However, if we want to stick with 3.14 I can
make the appropriate modifications.

Thanks,
Andrew

Andrew Duggan (14):
  Input: synaptics-rmi4: Use generic interrupt handling
  Input: synaptics-rmi4: Add device tree support for RMI4 I2C devices
  Input: synaptics-rmi4: Clean up Makefile
  Input: synaptics-rmi4: Remove unused debugfs code
  Input: synaptics-rmi4: Use ifdef to check if CONFIG_PM_SLEEP is set
  Input: synaptics-rmi4: Remove unused firmware_name variable
  Input: synaptics-rmi4: Add SPI transport driver
  Input: synaptics-rmi4: Add support for packet register descriptors
  Input: synaptics-rmi4: Create common functions for 2D sensors
  Input: synaptics-rmi4: Add support for F12
  Input: synaptics-rmi4: move structures and definitions to rmi.h
  Input: synaptics-rmi4: use device managed memory for the data packet
    buffer
  Input: synaptics-rmi4: remove sensor_name in platform data
  Input: synaptics-rmi4: Change the rmi device's name to be less generic

Benjamin Tissoires (12):
  Input: synaptics-rmi4 - embed the function modules in rmi_core
  Input: synaptics-rmi4 - add a common input device in rmi_driver
  Input: synaptics-rmi4 - explicitly request polling when needed
  Input: synaptics-rmi4 - prevent oopses when irq arrives while the
    device is not bound
  Input: synaptics-rmi4 - call rmi_driver_process_config_requests in
    enable_sensor
  Input: synaptics-rmi4 - add a reset callback
  Input: synaptics-rmi4 - f11: fix bitmap irq check
  Input: synaptics-rmi4 - f11: use the unified input node if available
  Input: synaptics-rmi4 - f11: clean up rmi_f11_finger_handler
  Input: synaptics-rmi4 - f11: allow the top software button property to
    be set
  Input: synaptics-rmi4 - f11: add support for kernel tracking
  Input: synaptics-rmi4 - Add F30 support

 .../bindings/input/rmi4/rmi_2d_sensor.txt          |  55 +++
 .../devicetree/bindings/input/rmi4/rmi_f01.txt     |  40 ++
 .../devicetree/bindings/input/rmi4/rmi_i2c.txt     |  55 +++
 .../devicetree/bindings/input/rmi4/rmi_spi.txt     |  57 +++
 .../devicetree/bindings/vendor-prefixes.txt        |   1 +
 drivers/input/rmi4/Kconfig                         |  47 +-
 drivers/input/rmi4/Makefile                        |  23 +-
 drivers/input/rmi4/rmi_2d_sensor.c                 | 370 ++++++++++++++
 drivers/input/rmi4/rmi_2d_sensor.h                 |  87 ++++
 drivers/input/rmi4/rmi_bus.c                       | 205 ++++----
 drivers/input/rmi4/rmi_bus.h                       | 129 +----
 drivers/input/rmi4/rmi_driver.c                    | 468 +++++++++++++-----
 drivers/input/rmi4/rmi_driver.h                    | 119 ++---
 drivers/input/rmi4/rmi_f01.c                       |  57 ++-
 drivers/input/rmi4/rmi_f11.c                       | 540 ++++++---------------
 drivers/input/rmi4/rmi_f12.c                       | 461 ++++++++++++++++++
 drivers/input/rmi4/rmi_f30.c                       | 403 +++++++++++++++
 drivers/input/rmi4/rmi_i2c.c                       |  62 +--
 drivers/input/rmi4/rmi_spi.c                       | 464 ++++++++++++++++++
 include/linux/rmi.h                                | 270 +++++++++--
 20 files changed, 3027 insertions(+), 886 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_f01.txt
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_i2c.txt
 create mode 100644 Documentation/devicetree/bindings/input/rmi4/rmi_spi.txt
 create mode 100644 drivers/input/rmi4/rmi_2d_sensor.c
 create mode 100644 drivers/input/rmi4/rmi_2d_sensor.h
 create mode 100644 drivers/input/rmi4/rmi_f12.c
 create mode 100644 drivers/input/rmi4/rmi_f30.c
 create mode 100644 drivers/input/rmi4/rmi_spi.c

-- 
2.1.4


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-11-10  9:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-05 23:37 [PATCH 04/26] Input: synaptics-rmi4 - prevent oopses when irq arrives while the device is not bound Andrew Duggan
2015-11-09 12:58 ` Linus Walleij
2015-11-09 23:16 ` Dmitry Torokhov
2015-11-10  9:11   ` Benjamin Tissoires
  -- strict thread matches above, loose matches on Subject: below --
2015-11-05 23:34 [PATCH 00/26] Consolidate patches and add support for new devices Andrew Duggan
2015-11-05 23:34 ` [PATCH 04/26] Input: synaptics-rmi4 - prevent oopses when irq arrives while the device is not bound Andrew Duggan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).