Wakeup the system by touching the touchpad

Bug #1888331 reported by koba
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Won't Fix
Undecided
Unassigned
Groovy
Fix Released
Undecided
Unassigned
linux-oem-5.6 (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Fix Released
Undecided
koba
Groovy
Fix Released
Undecided
Unassigned

Bug Description

[Impact]
Can't wake up by touching the touchpad.

[Fix]
1.gpio: With 'commit 461c1a7d4733 ("gpiolib: override irq_enable/disable")'
  gpiolib overrides irqchip's irq_enable and irq_disable callbacks. If irq_disable
  callback is implemented then genirq takes unlazy path to disable irq. Underlying irqchip
  may not want to implement irq_disable callback to lazy disable irq
  when client drivers invokes disable_irq(). By overriding irq_disable callback,
  gpiolib ends up always unlazy disabling IRQ.
  Allow gpiolib to lazy disable IRQs by overriding irq_disable callback only
  if irqchip implemented irq_disable. In cases where irq_disable is not
  implemented irq_mask is overridden. Similarly override irq_enable callback
  only if irqchip implemented irq_enable otherwise irq_unmask is overridden.
2. hid: Many laptops can be woken up from Suspend-to-Idle by touchpad. This is
   also the default behavior on other OSes.
   However, if touchpad and touchscreen contact to each other when lid is
   closed, wakeup events can be triggered inadventertly.
   So let's disable the wakeup by default, but enable the wakeup capability
   so users can enable it at their own discretion.

[test]
With the patch and manually enable HID's power/wakeup, the system can wake up by touching the touchpad.

[Regression Potential]
Low. The two patches are already landed in the upstream.

CVE References

koba (kobako)
affects: linux (Ubuntu) → linux-oem-5.6 (Ubuntu)
Changed in linux-oem-5.6 (Ubuntu Focal):
assignee: nobody → koba (kobako)
status: New → In Progress
koba (kobako)
summary: - Touchpad cannot wakeup the system Edit
+ Touchpad cannot wakeup the system
summary: - Touchpad cannot wakeup the system
+ Wakeup the system by touching the touchpad
koba (kobako)
tags: added: oem-priority originate-from-1880123 somerville
description: updated
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.6 (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
koba (kobako)
tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1021.21

---------------
linux-oem-5.6 (5.6.0-1021.21) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1021.21 -proposed tracker (LP: #1889371)

  * Fix right speaker of HP laptop (LP: #1889375)
    - SAUCE: hda/realtek: Fix right speaker of HP laptop

  * blk_update_request error when mount nvme partition (LP: #1872383)
    - SAUCE: nvme-pci: prevent SK hynix PC400 from using Write Zeroes command

  * cgroup refcount is bogus when cgroup_sk_alloc is disabled (LP: #1886860)
    - cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
    - cgroup: Fix sock_cgroup_data on big-endian.

  * Add support for Atlantic NIC firmware v4 (LP: #1886908)
    - net: atlantic: simplify hw_get_fw_version() usage
    - net: atlantic: align return value of ver_match function with function name
    - net: atlantic: add support for FW 4.x

  * Restart the machine successfully after suspend (LP: #1888375)
    - SAUCE: iommu/vt-d: Skip TE disabling on quirky gfx dedicated iommu
    - iommu/vt-d: Don't apply gfx quirks to untrusted devices

  * Wakeup the system by touching the touchpad (LP: #1888331)
    - gpio: gpiolib: Allow GPIO IRQs to lazy disable
    - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle

  * soc/amd/renoir: detect dmic from acpi table (LP: #1887734)
    - ASoC: amd: add logic to check dmic hardware runtime
    - ASoC: amd: add ACPI dependency check
    - ASoC: amd: fixed kernel warnings

  * [SRU][PATCH 0/1][oem-5.6] fix amd RENOIR screen backlight issue.
    (LP: #1886785)
    - Revert "drm/amd/display: disable dcn20 abm feature for bring up"

  * Enable Quectel EG95 LTE modem [2c7c:0195] (LP: #1886744)
    - net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
    - USB: serial: option: add Quectel EG95 LTE modem

  * soc/amd/renoir: change the module name to make it work with ucm3
    (LP: #1888166)
    - AsoC: amd: add missing snd- module prefix to the acp3x-rn driver kernel
      module
    - remove a kernel module since its name is changed

  * System stops responding while entering S3 with SD card installed
    (LP: #1880519)
    - xhci: Return if xHCI doesn't support LPM
    - xhci: Poll for U0 after disabling USB2 LPM

  * [SRU][F/OEM-5.6] add a new OLED panel support for brightness control
    (LP: #1887909)
    - drm/dp: Lenovo X13 Yoga OLED panel brightness fix

 -- Timo Aaltonen <email address hidden> Wed, 29 Jul 2020 21:08:56 +0300

Changed in linux-oem-5.6 (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.4 KiB)

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1021.21+20.10.2

---------------
linux-oem-5.6 (5.6.0-1021.21+20.10.2) groovy; urgency=medium

  * dkms artifacts may expire from the pool (LP: #1850958)
    - [Packaging] autoreconstruct -- manage executable debian files

linux-oem-5.6 (5.6.0-1021.21+20.10.1) groovy; urgency=medium

  * dkms artifacts may expire from the pool (LP: #1850958)
    - [packaging] handle downloads from the librarian better

  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts
    - [Packaging] update update.conf
    - update dkms package versions

  * Introduce the new NVIDIA 450-server and the 450 UDA series (LP: #1887674)
    - [Packaging] NVIDIA -- Add signed modules for 450

  * Miscellaneous upstream changes
    - usbip: tools: fix build error for multiple definition
    - libtraceevent: Fix build with binutils 2.35
    - perf cs-etm: Move definition of 'traceid_list' global variable from header
      file

linux-oem-5.6 (5.6.0-1021.21) groovy; urgency=medium

  * Emtpy entry.

linux-oem-5.6 (5.6.0-1021.21) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1021.21 -proposed tracker (LP: #1889371)

  * Fix right speaker of HP laptop (LP: #1889375)
    - SAUCE: hda/realtek: Fix right speaker of HP laptop

  * blk_update_request error when mount nvme partition (LP: #1872383)
    - SAUCE: nvme-pci: prevent SK hynix PC400 from using Write Zeroes command

  * cgroup refcount is bogus when cgroup_sk_alloc is disabled (LP: #1886860)
    - cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
    - cgroup: Fix sock_cgroup_data on big-endian.

  * Add support for Atlantic NIC firmware v4 (LP: #1886908)
    - net: atlantic: simplify hw_get_fw_version() usage
    - net: atlantic: align return value of ver_match function with function name
    - net: atlantic: add support for FW 4.x

  * Restart the machine successfully after suspend (LP: #1888375)
    - SAUCE: iommu/vt-d: Skip TE disabling on quirky gfx dedicated iommu
    - iommu/vt-d: Don't apply gfx quirks to untrusted devices

  * Wakeup the system by touching the touchpad (LP: #1888331)
    - gpio: gpiolib: Allow GPIO IRQs to lazy disable
    - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle

  * soc/amd/renoir: detect dmic from acpi table (LP: #1887734)
    - ASoC: amd: add logic to check dmic hardware runtime
    - ASoC: amd: add ACPI dependency check
    - ASoC: amd: fixed kernel warnings

  * [SRU][PATCH 0/1][oem-5.6] fix amd RENOIR screen backlight issue.
    (LP: #1886785)
    - Revert "drm/amd/display: disable dcn20 abm feature for bring up"

  * Enable Quectel EG95 LTE modem [2c7c:0195] (LP: #1886744)
    - net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
    - USB: serial: option: add Quectel EG95 LTE modem

  * soc/amd/renoir: change the module name to make it work with ucm3
    (LP: #1888166)
    - AsoC: amd: add missing snd- module prefix to the acp3x-rn driver kernel
      module
    - remove a kernel module since its name is changed

  * System stops responding while entering S3 with SD card installed
    (LP: #1880519)
    - xhci: Return if xHCI doesn't support LPM
    - xhci: Poll for U0 after disabl...

Read more...

Changed in linux-oem-5.6 (Ubuntu):
status: New → Fix Released
Changed in linux (Ubuntu Focal):
status: New → Won't Fix
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1888331

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (44.2 KiB)

This bug was fixed in the package linux - 5.8.0-20.21

---------------
linux (5.8.0-20.21) groovy; urgency=medium

  * groovy/linux: 5.8.0-20.21 -proposed tracker (LP: #1896668)

  * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices
    (LP: #1853277)
    - i2c: core: Call i2c_acpi_install_space_handler() before
      i2c_acpi_register_devices()

  * Enable LTR for endpoints behind VMD (LP: #1896598)
    - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD

  * Remove duplicated code in ip_defrag.sh of kselftests/net (LP: #1894062)
    - Revert "UBUNTU: SAUCE: selftests: net: ip_defrag: modprobe missing
      nf_defrag_ipv6 support"

  * [SRU] [Focal/OEM-5.6/Groovy]Fix AMD usb host controller lost after stress S3
    (LP: #1893914)
    - SAUCE: xhci: workaround for S3 issue on AMD SNPS 3.0 xHC

  * debian/rules editconfigs does not work on s390x to change s390x only configs
    (LP: #1863116)
    - [Packaging] kernelconfig -- only update/edit configurations on architectures
      we have compiler support

  * [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI Event
    0x0304) (LP: #1896216)
    - s390/pci: fix leak of DMA tables on hard unplug

  * md: improve IO accounting (LP: #1891151)
    - md: improve io stats accounting

  * Groovy update: v5.8.10 upstream stable release (LP: #1896078)
    - ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm()
    - ARM: dts: logicpd-torpedo-baseboard: Fix broken audio
    - ARM: dts: logicpd-som-lv-baseboard: Fix broken audio
    - ARM: dts: logicpd-som-lv-baseboard: Fix missing video
    - regulator: push allocation in regulator_ena_gpio_request() out of lock
    - regulator: remove superfluous lock in regulator_resolve_coupling()
    - ARM: dts: socfpga: fix register entry for timer3 on Arria10
    - ARM: dts: omap5: Fix DSI base address and clocks
    - ARM: dts: ls1021a: fix QuadSPI-memory reg range
    - ARM: dts: imx7ulp: Correct gpio ranges
    - arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build
    - ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy
    - RDMA/rtrs-srv: Replace device_register with device_initialize and device_add
    - RDMA/rxe: Fix memleak in rxe_mem_init_user
    - RDMA/rxe: Drop pointless checks in rxe_init_ports
    - RDMA/rxe: Fix panic when calling kmem_cache_create()
    - RDMA/bnxt_re: Do not report transparent vlan from QP1
    - RDMA/bnxt_re: Fix the qp table indexing
    - RDMA/bnxt_re: Static NQ depth allocation
    - RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address
    - RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds
    - drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux()
    - arm64: dts: imx8mq: Fix TMU interrupt property
    - drm/sun4i: Fix dsi dcs long write function
    - scsi: qla2xxx: Fix regression on sparc64
    - scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
    - drm/virtio: fix unblank
    - RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ
    - RDMA/core: Fix reported speed and width
    - scsi: megaraid_sas: Don't call disable_irq from process IRQ poll
    - scsi: mpt3sas: Don'...

Changed in linux (Ubuntu Groovy):
status: Incomplete → Fix Released
Timo Aaltonen (tjaalton)
Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.