Message ID | 20210128060207.506438-2-kai.heng.feng@canonical.com |
---|---|
State | New |
Headers | show |
Series | Restore palm ejection on multi-input devices | expand |
On 28.01.21 07:02, Kai-Heng Feng wrote: > BugLink: https://bugs.launchpad.net/bugs/1913520 > > Palm ejection stops working on some Elan and Synaptics touchpad after > commit 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk for > some devices"). > > The commit changes the mt_class from MT_CLS_WIN_8 to > MT_CLS_WIN_8_FORCE_MULTI_INPUT, so MT_QUIRK_CONFIDENCE isn't applied > anymore. > > So also apply the quirk since MT_CLS_WIN_8_FORCE_MULTI_INPUT is > essentially MT_CLS_WIN_8. > > Fixes: 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk for some devices") > Cc: stable@vger.kernel.org > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > (cherry picked from commit 794c613383433ffc4fceec8eaa081b9f1962e287 linux-next) > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> > --- The comment I have is not so much about this specific patch but generally the class of input device changes. Maybe it is just a feeling but my impression from glancing over the summaries of incoming bug reports there seemed to be a number of xy input stopped working ones. I understand that those are hard to avoid whenever there is change. Just wondering whether someone is watching out for specific failures like this in the incoming bug report? Thanks, Stefan > drivers/hid/hid-multitouch.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c > index 0743ef51d3b2..8429ebe7097e 100644 > --- a/drivers/hid/hid-multitouch.c > +++ b/drivers/hid/hid-multitouch.c > @@ -758,7 +758,8 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, > MT_STORE_FIELD(inrange_state); > return 1; > case HID_DG_CONFIDENCE: > - if (cls->name == MT_CLS_WIN_8 && > + if ((cls->name == MT_CLS_WIN_8 || > + cls->name == MT_CLS_WIN_8_FORCE_MULTI_INPUT) && > (field->application == HID_DG_TOUCHPAD || > field->application == HID_DG_TOUCHSCREEN)) > app->quirks |= MT_QUIRK_CONFIDENCE; >
On Thu, Jan 28, 2021 at 5:03 PM Stefan Bader <stefan.bader@canonical.com> wrote: > > On 28.01.21 07:02, Kai-Heng Feng wrote: > > BugLink: https://bugs.launchpad.net/bugs/1913520 > > > > Palm ejection stops working on some Elan and Synaptics touchpad after > > commit 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk for > > some devices"). > > > > The commit changes the mt_class from MT_CLS_WIN_8 to > > MT_CLS_WIN_8_FORCE_MULTI_INPUT, so MT_QUIRK_CONFIDENCE isn't applied > > anymore. > > > > So also apply the quirk since MT_CLS_WIN_8_FORCE_MULTI_INPUT is > > essentially MT_CLS_WIN_8. > > > > Fixes: 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk for some devices") > > Cc: stable@vger.kernel.org > > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > (cherry picked from commit 794c613383433ffc4fceec8eaa081b9f1962e287 linux-next) > > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > Acked-by: Stefan Bader <stefan.bader@canonical.com> > > --- > > The comment I have is not so much about this specific patch but generally the > class of input device changes. Maybe it is just a feeling but my impression from > glancing over the summaries of incoming bug reports there seemed to be a number > of xy input stopped working ones. Only a small fraction of those bug reports are regressions. Most of the bug reports are that the input device never works. There can be multiple reasons, like recent missing linux-modules-extra, wrong resources report from ACPI, issues in PCI BAR, wrong power sequence of I2C HID device, invalid GPIO setup, or incorrect interpretation of input collection report. So it's not easy to debug, let alone remotely, as the issue may reside in different subsystems or in rather subtle places. > I understand that those are hard to avoid > whenever there is change. Just wondering whether someone is watching out for > specific failures like this in the incoming bug report? Right now I am really stretched thin but I'll try my best :) Kai-Heng > > Thanks, > Stefan > > > drivers/hid/hid-multitouch.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c > > index 0743ef51d3b2..8429ebe7097e 100644 > > --- a/drivers/hid/hid-multitouch.c > > +++ b/drivers/hid/hid-multitouch.c > > @@ -758,7 +758,8 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, > > MT_STORE_FIELD(inrange_state); > > return 1; > > case HID_DG_CONFIDENCE: > > - if (cls->name == MT_CLS_WIN_8 && > > + if ((cls->name == MT_CLS_WIN_8 || > > + cls->name == MT_CLS_WIN_8_FORCE_MULTI_INPUT) && > > (field->application == HID_DG_TOUCHPAD || > > field->application == HID_DG_TOUCHSCREEN)) > > app->quirks |= MT_QUIRK_CONFIDENCE; > > > >
On 28.01.21 07:02, Kai-Heng Feng wrote: > BugLink: https://bugs.launchpad.net/bugs/1913520 > > Palm ejection stops working on some Elan and Synaptics touchpad after > commit 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk for > some devices"). > > The commit changes the mt_class from MT_CLS_WIN_8 to > MT_CLS_WIN_8_FORCE_MULTI_INPUT, so MT_QUIRK_CONFIDENCE isn't applied > anymore. > > So also apply the quirk since MT_CLS_WIN_8_FORCE_MULTI_INPUT is > essentially MT_CLS_WIN_8. > > Fixes: 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk for some devices") > Cc: stable@vger.kernel.org > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > (cherry picked from commit 794c613383433ffc4fceec8eaa081b9f1962e287 linux-next) > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> > --- > drivers/hid/hid-multitouch.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c > index 0743ef51d3b2..8429ebe7097e 100644 > --- a/drivers/hid/hid-multitouch.c > +++ b/drivers/hid/hid-multitouch.c > @@ -758,7 +758,8 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, > MT_STORE_FIELD(inrange_state); > return 1; > case HID_DG_CONFIDENCE: > - if (cls->name == MT_CLS_WIN_8 && > + if ((cls->name == MT_CLS_WIN_8 || > + cls->name == MT_CLS_WIN_8_FORCE_MULTI_INPUT) && > (field->application == HID_DG_TOUCHPAD || > field->application == HID_DG_TOUCHSCREEN)) > app->quirks |= MT_QUIRK_CONFIDENCE; >
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 0743ef51d3b2..8429ebe7097e 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -758,7 +758,8 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, MT_STORE_FIELD(inrange_state); return 1; case HID_DG_CONFIDENCE: - if (cls->name == MT_CLS_WIN_8 && + if ((cls->name == MT_CLS_WIN_8 || + cls->name == MT_CLS_WIN_8_FORCE_MULTI_INPUT) && (field->application == HID_DG_TOUCHPAD || field->application == HID_DG_TOUCHSCREEN)) app->quirks |= MT_QUIRK_CONFIDENCE;