Patch "Input: iqs7222 - correct slider event disable logic" has been added to the 5.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    Input: iqs7222 - correct slider event disable logic

to the 5.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     input-iqs7222-correct-slider-event-disable-logic.patch
and it can be found in the queue-5.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From 56a0c54c4c2bdb6c0952de90dd690020a703b50e Mon Sep 17 00:00:00 2001
From: Jeff LaBundy <jeff@xxxxxxxxxxx>
Date: Mon, 27 Jun 2022 15:13:49 -0700
Subject: Input: iqs7222 - correct slider event disable logic

From: Jeff LaBundy <jeff@xxxxxxxxxxx>

commit 56a0c54c4c2bdb6c0952de90dd690020a703b50e upstream.

If a positive swipe/flick gesture is defined but the corresponding
negative gesture is not, the former is inadvertently disabled. Fix
this by gently refactoring the logic responsible for disabling all
gestures by default.

As part of this change, make the code a bit simpler by eliminating
a superfluous conditional check. If a slider event does not define
an enable control, the second term of the bitwise AND operation is
simply 0xFFFF.

Fixes: e505edaedcb9 ("Input: add support for Azoteq IQS7222A/B/C")
Signed-off-by: Jeff LaBundy <jeff@xxxxxxxxxxx>
Link: https://lore.kernel.org/r/20220626072412.475211-2-jeff@xxxxxxxxxxx
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/input/misc/iqs7222.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/input/misc/iqs7222.c b/drivers/input/misc/iqs7222.c
index 6b4138771a3f..53df74f3a982 100644
--- a/drivers/input/misc/iqs7222.c
+++ b/drivers/input/misc/iqs7222.c
@@ -2081,17 +2081,19 @@ static int iqs7222_parse_sldr(struct iqs7222_private *iqs7222, int sldr_index)
 			sldr_setup[0] |= dev_desc->wheel_enable;
 	}
 
+	/*
+	 * The absence of a register offset makes it safe to assume the device
+	 * supports gestures, each of which is first disabled until explicitly
+	 * enabled.
+	 */
+	if (!reg_offset)
+		for (i = 0; i < ARRAY_SIZE(iqs7222_sl_events); i++)
+			sldr_setup[9] &= ~iqs7222_sl_events[i].enable;
+
 	for (i = 0; i < ARRAY_SIZE(iqs7222_sl_events); i++) {
 		const char *event_name = iqs7222_sl_events[i].name;
 		struct fwnode_handle *event_node;
 
-		/*
-		 * The absence of a register offset means the remaining fields
-		 * in the group represent gesture settings.
-		 */
-		if (iqs7222_sl_events[i].enable && !reg_offset)
-			sldr_setup[9] &= ~iqs7222_sl_events[i].enable;
-
 		event_node = fwnode_get_named_child_node(sldr_node, event_name);
 		if (!event_node)
 			continue;
-- 
2.37.2



Patches currently in stable-queue which might be from jeff@xxxxxxxxxxx are

queue-5.19/dt-bindings-input-iqs7222-remove-support-for-rf-filter.patch
queue-5.19/input-iqs7222-handle-reset-during-ati.patch
queue-5.19/input-iqs7222-fortify-slider-event-reporting.patch
queue-5.19/dt-bindings-input-iqs7222-correct-bottom-speed-step-size.patch
queue-5.19/input-iqs7222-acknowledge-reset-before-writing-registers.patch
queue-5.19/input-iqs7222-remove-support-for-rf-filter.patch
queue-5.19/input-iqs7222-correct-slider-event-disable-logic.patch
queue-5.19/input-iqs7222-protect-volatile-registers.patch
queue-5.19/dt-bindings-input-iqs7222-extend-slider-mapped-gpio-to-iqs7222c.patch



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux