Hi Dmitry, > On Jun 14, 2019, at 12:26, Aaron Ma <aaron.ma@xxxxxxxxxxxxx> wrote: > > On 6/12/19 1:35 AM, Dmitry Torokhov wrote: >> On Tue, Jun 11, 2019 at 12:55:58AM +0800, Aaron Ma wrote: >>> On 6/10/19 12:55 AM, Dmitry Torokhov wrote: >>>> Hi Aaron, >>>> >>>> On Wed, Feb 20, 2019 at 05:41:59PM +0100, Aaron Ma wrote: >>>>> rmi4 got spam data after S3 resume on some ThinkPads. >>>>> Then TrackPoint lost when be detected by psmouse. >>>>> Clear irqs status before set irqs will make TrackPoint back. >>>> Could you please give me an idea as to what this spam data is? >>>> >>> It should be some data 0 during suspend/resume. >>> Actually I don't know how these data 0 is produced. >>> Not all synaptics touchpads have this issue. >>> >>>> In F03 probe we clear all pending data before enabling the function, >>> Yes we did, but not after resume. >> Yes, I understand that. The question I was asking: if we add code >> consuming all pending data to f03->suspend(), similarly to what we are >> doing at probe time, will it fix the issue with trackstick losing >> synchronization and attempting disconnect? >> > > I just do some test via adding code in suspend or resume. > But they didn't work out. > >>>> maybe the same needs to be done on resume, instead of changing the way >>>> we handle IRQ bits? >>> This patch is supposed to clear irq status like it in fn probe. Not >>> changing IRQ bits. >> What I meant is changing how we enable IRQ bits. I would really prefer >> we did not lose IRQ state for other functions when we enable interrupts >> for given function. >> > > Not only F03 with problem, F12 too which is touchpad . > User verified this patch fixes problem of F12 too. > Clear IRQ status before enable IRQ should be safe. > > Or we can add code before enable IRQ in F03/F12. Users reported that patch [1/2] alone can solve the issue. Do we need more information before making this fix merged? Kai-Heng > > Thanks, > Aaron > >> Thanks. >> >> -- Dmitry