Message ID | 20200115124819.3191024-2-hverkuil-cisco@xs4all.nl (mailing list archive) |
---|---|
State | Mainlined |
Commit | 8ff771f8c8d55d95f102cf88a970e541a8bd6bcf |
Headers | show |
Series | input/rmi4 regression fix | expand |
On Wed, Jan 15, 2020 at 01:48:18PM +0100, Hans Verkuil wrote: > This reverts commit a284e11c371e446371675668d8c8120a27227339. > > 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: a284e11c371e ("Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers") > Cc: stable@vger.kernel.org Applied, thank you. > --- > drivers/input/rmi4/rmi_smbus.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c > index b313c579914f..2407ea43de59 100644 > --- a/drivers/input/rmi4/rmi_smbus.c > +++ b/drivers/input/rmi4/rmi_smbus.c > @@ -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; > -- > 2.24.0 >
diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c index b313c579914f..2407ea43de59 100644 --- a/drivers/input/rmi4/rmi_smbus.c +++ b/drivers/input/rmi4/rmi_smbus.c @@ -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;
This reverts commit a284e11c371e446371675668d8c8120a27227339. 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: a284e11c371e ("Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers") Cc: stable@vger.kernel.org --- drivers/input/rmi4/rmi_smbus.c | 2 ++ 1 file changed, 2 insertions(+)