RE: [PATCH v16 00/12] input: cyapa: instruction of cyapa patches

From: Dudley Du
Date: Sun Dec 21 2014 - 21:09:45 EST


Thanks, Dmitry and Jeremiah,

I reproduced this issue in my side when putting fingers on trackpad when system booting up.
It only happened on gen3 trackpad device.
The root cause is, for gen3 TP, the cyapa->ops->sort_empty_output_data is not set, so when cyapa->input is not set,
the interrupt process should be passed, but since the logica error, it's not, so this issue happen.

The fix code should be as below.
I will correct it and resubmited the patches.

Code to fix this issue.
@@ -585,9 +585,10 @@ static irqreturn_t cyapa_irq(int irq, void *dev_id)
/* Interrupt event maybe from trackpad device input reporting. */
if (cont && cyapa->ops->irq_handler) {
/* Still in probling or in firware image udpating or reading. */
- if (!cyapa->input && cyapa->ops->sort_empty_output_data) {
- cyapa->ops->sort_empty_output_data(cyapa,
- NULL, NULL, NULL);
+ if (!cyapa->input) {
+ if (cyapa->ops->sort_empty_output_data)
+ cyapa->ops->sort_empty_output_data(cyapa,
+ NULL, NULL, NULL);
goto out;
}

Thanks,
Dudley


> -----Original Message-----
> From: Dmitry Torokhov [mailto:dmitry.torokhov@xxxxxxxxx]
> Sent: 2014?12?20? 15:32
> To: Jeremiah Mahler; Dudley Du; rydberg@xxxxxxxxxxx; bleung@xxxxxxxxxx;
> David Solda; linux-input@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v16 00/12] input: cyapa: instruction of cyapa patches
>
> On Fri, Dec 19, 2014 at 11:15:33PM -0800, Jeremiah Mahler wrote:
> > Dudley,
> >
> > On Thu, Dec 18, 2014 at 06:00:44PM +0800, Dudley Du wrote:
> > > V16 patches have below updates, details of other updates see history list:
> > [...]
> >
> > This version has problems. I am getting an oops (below) and then things
> > quit working and usually my machine hangs.
> >
> > [ 2.388284] input: HDA Intel PCH Headphone as
> /devices/pci0000:00/0000:00:1b.0/sound/card1/input10
> > [ 2.412938] FS-Cache: Netfs 'nfs' registered for caching
> > [ 2.427645] [drm] Initialized i915 1.6.0 20141121 for 0000:00:02.0 on minor 0
> > [ 2.428320] __add_probed_i2c_device failed to register device 1-4a
> > [ 2.428331] platform chromeos_laptop: Driver chromeos_laptop requests
> probe deferral
> > [ 2.429126] fbcon: inteldrmfb (fb0) is primary device
> > [ 2.449066] BUG: unable to handle kernel NULL pointer dereference at
> 0000000000000160
> > [ 2.449073] IP: [<ffffffff813f7b2b>] input_mt_sync_frame+0xb/0x60
>
> Sounds like we got an interrupts before we had a chance to initialize
> input device...
>
> Thanks.
>
> --
> Dmitry

This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/