]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Revert "Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers"
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Fri, 17 Jan 2020 04:12:27 +0000 (20:12 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 17 Jan 2020 04:22:55 +0000 (20:22 -0800)
This reverts commit a2ccd7e07885d4773a997897e0071a18c8c7d1b5.

This causes problems (drifting cursor) with at least the F11 function that
reads more than 32 bytes.

The real issue is in the F54 driver, and so this should be fixed there, and
not in rmi_smbus.c.

So first revert this bad commit, then fix the real problem in F54 in another
patch.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Reported-by: Timo Kaufmann <timokau@zoho.com>
Fixes: a2ccd7e07885 ("Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200115124819.3191024-2-hverkuil-cisco@xs4all.nl
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_smbus.c

index b313c579914f49948e0c3e97f0865ec178b459ca..2407ea43de59b7b5f386d0361c3cc49495df62d3 100644 (file)
@@ -163,6 +163,7 @@ static int rmi_smb_write_block(struct rmi_transport_dev *xport, u16 rmiaddr,
                /* prepare to write next block of bytes */
                cur_len -= SMB_MAX_COUNT;
                databuff += SMB_MAX_COUNT;
+               rmiaddr += SMB_MAX_COUNT;
        }
 exit:
        mutex_unlock(&rmi_smb->page_mutex);
@@ -214,6 +215,7 @@ static int rmi_smb_read_block(struct rmi_transport_dev *xport, u16 rmiaddr,
                /* prepare to read next block of bytes */
                cur_len -= SMB_MAX_COUNT;
                databuff += SMB_MAX_COUNT;
+               rmiaddr += SMB_MAX_COUNT;
        }
 
        retval = 0;