The system cannot resume from S3 if user unplugs the TB16 during suspend state

Bug #1849269 reported by AceLan Kao on 2019-10-22
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Undecided
Unassigned
linux (Ubuntu)
Status tracked in Focal
Eoan
Undecided
AceLan Kao
Focal
Undecided
AceLan Kao
linux-oem (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
AceLan Kao
linux-oem-osp1 (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
AceLan Kao

Bug Description

[Impact]
Unplug TBT dock during S3 and then wakes up the system leads to system hangs.
This not only happens on Dell TB16, but also Dell WD19TB. It's more like a BIOS or TBT firmware issue that TBT firmware doesn't re-create the PCIe tunnels.

[Fix]
Mika provides 4 patches to fix this issue, but only 2 are accepted and are included in linus' tree. We need especially the 4th commit to fix the issue, so we keep the 3rd and 4th commits as sauce patches.

[Test]
Verified on Dell Precision 5530 + WD19TB

[Regression Potential]
Low, those patches doesn't change the code path much. The 4th commit adds some checks to return failure state, and it should be safe for those machines which is working well.

AceLan Kao (acelankao) on 2019-10-22
Changed in linux (Ubuntu Bionic):
assignee: nobody → AceLan Kao (acelankao)
Changed in linux (Ubuntu Disco):
assignee: nobody → AceLan Kao (acelankao)
Changed in linux (Ubuntu Eoan):
assignee: nobody → AceLan Kao (acelankao)
Changed in linux (Ubuntu Focal):
assignee: nobody → AceLan Kao (acelankao)
Changed in linux (Ubuntu Bionic):
status: New → In Progress
Changed in linux (Ubuntu Disco):
status: New → In Progress
Changed in linux (Ubuntu Eoan):
status: New → In Progress
Changed in linux (Ubuntu Focal):
status: New → In Progress
AceLan Kao (acelankao) wrote :

0e48f51cbbfb Revert "libata, freezer: avoid block device removal while system is frozen"
a2b90f112177 bdi: Do not use freezable workqueue

and

https://patchwork.kernel.org/patch/11089971/
https://patchwork.kernel.org/patch/11089973/

Changed in linux-oem (Ubuntu Bionic):
status: New → In Progress
Changed in linux-oem-osp1 (Ubuntu Bionic):
assignee: nobody → AceLan Kao (acelankao)
status: New → In Progress
Changed in linux-oem (Ubuntu Bionic):
assignee: nobody → AceLan Kao (acelankao)
no longer affects: linux-oem (Ubuntu Disco)
no longer affects: linux-oem (Ubuntu Eoan)
no longer affects: linux-oem (Ubuntu Focal)
no longer affects: linux-oem-osp1 (Ubuntu Disco)
no longer affects: linux-oem-osp1 (Ubuntu Eoan)
no longer affects: linux-oem-osp1 (Ubuntu Focal)
Changed in linux-oem (Ubuntu):
status: New → Invalid
Changed in linux-oem-osp1 (Ubuntu):
status: New → Invalid
AceLan Kao (acelankao) on 2019-10-23
tags: added: oem-priority originate-from-1846194 somerville
AceLan Kao (acelankao) on 2019-10-23
tags: removed: originate-from-1846194
AceLan Kao (acelankao) on 2019-10-23
no longer affects: hwe-next
tags: removed: oem-priority somerville
tags: added: oem-priority originate-from-1846194 somerville
AceLan Kao (acelankao) on 2019-10-23
no longer affects: hwe-next
tags: removed: oem-priority originate-from-1846194 somerville
tags: added: oem-priority originate-from-1846194 somerville
tags: added: originate-from-1828147
tags: added: originate-from-1849071
AceLan Kao (acelankao) on 2019-10-23
Changed in linux-oem (Ubuntu Bionic):
status: In Progress → Fix Committed
AceLan Kao (acelankao) on 2019-10-24
no longer affects: linux (Ubuntu Bionic)
Launchpad Janitor (janitor) wrote :
Download full text (26.5 KiB)

This bug was fixed in the package linux-oem - 4.15.0-1063.72

---------------
linux-oem (4.15.0-1063.72) bionic; urgency=medium

  * CVE-2019-11135
    - [Config] oem: Disable TSX by default when possible

  [ Ubuntu: 4.15.0-69.78 ]

  * KVM NULL pointer deref (LP: #1851205)
    - KVM: nVMX: handle page fault in vmread fix
  * CVE-2018-12207
    - KVM: MMU: drop vcpu param in gpte_access
    - kvm: Convert kvm_lock to a mutex
    - kvm: x86: Do not release the page inside mmu_set_spte()
    - KVM: x86: make FNAME(fetch) and __direct_map more similar
    - KVM: x86: remove now unneeded hugepage gfn adjustment
    - KVM: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON
    - KVM: x86: add tracepoints around __direct_map and FNAME(fetch)
    - kvm: x86, powerpc: do not allow clearing largepages debugfs entry
    - SAUCE: KVM: vmx, svm: always run with EFER.NXE=1 when shadow paging is
      active
    - SAUCE: x86: Add ITLB_MULTIHIT bug infrastructure
    - SAUCE: kvm: mmu: ITLB_MULTIHIT mitigation
    - SAUCE: kvm: Add helper function for creating VM worker threads
    - SAUCE: kvm: x86: mmu: Recovery of shattered NX large pages
    - SAUCE: cpu/speculation: Uninline and export CPU mitigations helpers
    - SAUCE: kvm: x86: mmu: Apply global mitigations knob to ITLB_MULTIHIT
  * CVE-2019-11135
    - KVM: x86: use Intel speculation bugs and features as derived in generic x86
      code
    - x86/msr: Add the IA32_TSX_CTRL MSR
    - x86/cpu: Add a helper function x86_read_arch_cap_msr()
    - x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default
    - x86/speculation/taa: Add mitigation for TSX Async Abort
    - x86/speculation/taa: Add sysfs reporting for TSX Async Abort
    - kvm/x86: Export MDS_NO=0 to guests when TSX is enabled
    - x86/tsx: Add "auto" option to the tsx= cmdline parameter
    - x86/speculation/taa: Add documentation for TSX Async Abort
    - x86/tsx: Add config options to set tsx=on|off|auto
    - SAUCE: x86/speculation/taa: Call tsx_init()
    - SAUCE: x86/cpu: Include cpu header from bugs.c
    - [Config] Disable TSX by default when possible
  * CVE-2019-0154
    - SAUCE: drm/i915: Lower RM timeout to avoid DSI hard hangs
    - SAUCE: drm/i915/gen8+: Add RC6 CTX corruption WA
  * CVE-2019-0155
    - drm/i915/gtt: Add read only pages to gen8_pte_encode
    - drm/i915/gtt: Read-only pages for insert_entries on bdw+
    - drm/i915/gtt: Disable read-only support under GVT
    - drm/i915: Prevent writing into a read-only object via a GGTT mmap
    - drm/i915/cmdparser: Check reg_table_count before derefencing.
    - drm/i915/cmdparser: Do not check past the cmd length.
    - drm/i915: Silence smatch for cmdparser
    - drm/i915: Move engine->needs_cmd_parser to engine->flags
    - SAUCE: drm/i915: Rename gen7 cmdparser tables
    - SAUCE: drm/i915: Disable Secure Batches for gen6+
    - SAUCE: drm/i915: Remove Master tables from cmdparser
    - SAUCE: drm/i915: Add support for mandatory cmdparsing
    - SAUCE: drm/i915: Support ro ppgtt mapped cmdparser shadow buffers
    - SAUCE: drm/i915: Allow parsing of unsized batches
    - SAUCE: drm/i915: Add gen9 BCS cmdparsing
    - SAUCE: drm/i915/cmdparser: Use explicit ...

Changed in linux-oem (Ubuntu Bionic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (40.0 KiB)

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1027.31

---------------
linux-oem-osp1 (5.0.0-1027.31) bionic; urgency=medium

  * CVE-2019-11135
    - [Config] Disable TSX by default when possible

  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts

  [ Ubuntu: 5.0.0-35.38 ]

  * [REGRESSION] md/raid0: cannot assemble multi-zone RAID0 with default_layout
    setting (LP: #1849682)
    - SAUCE: Fix revert "md/raid0: avoid RAID0 data corruption due to layout
      confusion."
  * refcount underflow and type confusion in shiftfs (LP: #1850867) // CVE-2019-15793
    - SAUCE: shiftfs: Correct id translation for lower fs operations
    - SAUCE: shiftfs: prevent type confusion
    - SAUCE: shiftfs: Fix refcount underflow in btrfs ioctl handling
  * CVE-2018-12207
    - kvm: Convert kvm_lock to a mutex
    - kvm: x86: Do not release the page inside mmu_set_spte()
    - KVM: x86: make FNAME(fetch) and __direct_map more similar
    - KVM: x86: remove now unneeded hugepage gfn adjustment
    - KVM: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON
    - KVM: x86: add tracepoints around __direct_map and FNAME(fetch)
    - kvm: x86, powerpc: do not allow clearing largepages debugfs entry
    - SAUCE: KVM: vmx, svm: always run with EFER.NXE=1 when shadow paging is
      active
    - SAUCE: x86: Add ITLB_MULTIHIT bug infrastructure
    - SAUCE: kvm: mmu: ITLB_MULTIHIT mitigation
    - SAUCE: kvm: Add helper function for creating VM worker threads
    - SAUCE: kvm: x86: mmu: Recovery of shattered NX large pages
    - SAUCE: cpu/speculation: Uninline and export CPU mitigations helpers
    - SAUCE: kvm: x86: mmu: Apply global mitigations knob to ITLB_MULTIHIT
  * CVE-2019-11135
    - KVM: x86: use Intel speculation bugs and features as derived in generic x86
      code
    - x86/msr: Add the IA32_TSX_CTRL MSR
    - x86/cpu: Add a helper function x86_read_arch_cap_msr()
    - x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default
    - x86/speculation/taa: Add mitigation for TSX Async Abort
    - x86/speculation/taa: Add sysfs reporting for TSX Async Abort
    - kvm/x86: Export MDS_NO=0 to guests when TSX is enabled
    - x86/tsx: Add "auto" option to the tsx= cmdline parameter
    - x86/speculation/taa: Add documentation for TSX Async Abort
    - x86/tsx: Add config options to set tsx=on|off|auto
    - SAUCE: x86/speculation/taa: Call tsx_init()
    - [Config] Disable TSX by default when possible
  * CVE-2019-0154
    - SAUCE: drm/i915: Lower RM timeout to avoid DSI hard hangs
    - SAUCE: drm/i915/gen8+: Add RC6 CTX corruption WA
  * CVE-2019-0155
    - SAUCE: drm/i915: Rename gen7 cmdparser tables
    - SAUCE: drm/i915: Disable Secure Batches for gen6+
    - SAUCE: drm/i915: Remove Master tables from cmdparser
    - SAUCE: drm/i915: Add support for mandatory cmdparsing
    - SAUCE: drm/i915: Support ro ppgtt mapped cmdparser shadow buffers
    - SAUCE: drm/i915: Allow parsing of unsized batches
    - SAUCE: drm/i915: Add gen9 BCS cmdparsing
    - SAUCE: drm/i915/cmdparser: Use explicit goto for error paths
    - SAUCE: drm/i915/cmdparser: Add support for backward jumps
    - SAUCE: drm/i915/cmdparser: Ignore L...

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (28.4 KiB)

This bug was fixed in the package linux-oem - 4.15.0-1065.75

---------------
linux-oem (4.15.0-1065.75) bionic; urgency=medium

  * bionic/linux-oem: 4.15.0-1065.74 -proposed tracker (LP: #1852266)

  * Bionic update: upstream stable patchset 2019-10-29 (LP: #1850541)
    - [Config] updateconfigs for USB_RIO500

  * Disable unreliable HPET on CFL-H system (LP: #1852216)
    - SAUCE: x86/intel: Disable HPET on Intel Coffe Lake H platforms

  [ Ubuntu: 4.15.0-71.80 ]

  * bionic/linux: 4.15.0-71.80 -proposed tracker (LP: #1852289)
  * Bionic update: upstream stable patchset 2019-10-29 (LP: #1850541)
    - panic: ensure preemption is disabled during panic()
    - f2fs: use EINVAL for superblock with invalid magic
    - [Config] updateconfigs for USB_RIO500
    - USB: rio500: Remove Rio 500 kernel driver
    - USB: yurex: Don't retry on unexpected errors
    - USB: yurex: fix NULL-derefs on disconnect
    - USB: usb-skeleton: fix runtime PM after driver unbind
    - USB: usb-skeleton: fix NULL-deref on disconnect
    - xhci: Fix false warning message about wrong bounce buffer write length
    - xhci: Prevent device initiated U1/U2 link pm if exit latency is too long
    - xhci: Check all endpoints for LPM timeout
    - usb: xhci: wait for CNR controller not ready bit in xhci resume
    - USB: adutux: fix use-after-free on disconnect
    - USB: adutux: fix NULL-derefs on disconnect
    - USB: adutux: fix use-after-free on release
    - USB: iowarrior: fix use-after-free on disconnect
    - USB: iowarrior: fix use-after-free on release
    - USB: iowarrior: fix use-after-free after driver unbind
    - USB: usblp: fix runtime PM after driver unbind
    - USB: chaoskey: fix use-after-free on release
    - USB: ldusb: fix NULL-derefs on driver unbind
    - serial: uartlite: fix exit path null pointer
    - USB: serial: keyspan: fix NULL-derefs on open() and write()
    - USB: serial: ftdi_sio: add device IDs for Sienna and Echelon PL-20
    - USB: serial: option: add Telit FN980 compositions
    - USB: serial: option: add support for Cinterion CLS8 devices
    - USB: serial: fix runtime PM after driver unbind
    - USB: usblcd: fix I/O after disconnect
    - USB: microtek: fix info-leak at probe
    - USB: dummy-hcd: fix power budget for SuperSpeed mode
    - usb: renesas_usbhs: gadget: Do not discard queues in
      usb_ep_set_{halt,wedge}()
    - usb: renesas_usbhs: gadget: Fix usb_ep_set_{halt,wedge}() behavior
    - USB: legousbtower: fix slab info leak at probe
    - USB: legousbtower: fix deadlock on disconnect
    - USB: legousbtower: fix potential NULL-deref on disconnect
    - USB: legousbtower: fix open after failed reset request
    - USB: legousbtower: fix use-after-free on release
    - staging: vt6655: Fix memory leak in vt6655_probe
    - iio: adc: ad799x: fix probe error handling
    - iio: adc: axp288: Override TS pin bias current for some models
    - iio: light: opt3001: fix mutex unlock race
    - efivar/ssdt: Don't iterate over EFI vars if no SSDT override was specified
    - perf llvm: Don't access out-of-scope array
    - perf inject jit: Fix JIT_CODE_MOVE filename
    - CIFS: Gracefully handle QueryInfo errors during open
    ...

Changed in linux-oem (Ubuntu):
status: Invalid → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (26.3 KiB)

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1030.34

---------------
linux-oem-osp1 (5.0.0-1030.34) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1030.34 -proposed tracker (LP: #1853116)

  * Add support for Realtek 8723DE wireless adapter (LP: #1780590)
    - SAUCE: rtw88: 8822c: update PHY parameter to v38
    - SAUCE: rtw88: 8822c: update pwr_seq to v13
    - SAUCE: rtw88: 8822c: Enable interrupt migration
    - SAUCE: rtw88: 8822c: add FW IQK support
    - SAUCE: rtw88: 8822c: add SW DPK support
    - SAUCE: rtw88: move IQK/DPK into phy_calibration
    - SAUCE: rtw88: add dynamic cck pd mechanism
    - SAUCE: rtw88: allows to receive AMSDU in AMPDU
    - SAUCE: rtw88: remove redundant flag check helper function
    - SAUCE: rtw88: pci: extract skbs free routine for trx rings
    - SAUCE: rtw88: pci: release tx skbs DMAed when stop
    - SAUCE: rtw88: not to enter or leave PS under IRQ
    - SAUCE: rtw88: not to control LPS by each vif
    - SAUCE: rtw88: remove unused lps state check helper
    - SAUCE: rtw88: LPS enter/leave should be protected by lock
    - SAUCE: rtw88: leave PS state for dynamic mechanism
    - SAUCE: rtw88: add deep power save support
    - SAUCE: rtw88: not to enter LPS by coex strategy
    - SAUCE: rtw88: select deep PS mode when module is inserted
    - SAUCE: rtw88: add deep PS PG mode for 8822c
    - SAUCE: rtw88: add RTS support
    - SAUCE: rtw88: add driver tx queue support
    - SAUCE: rtw88: take over rate control from mac80211
    - SAUCE: rtw88: report tx rate to mac80211 stack
    - SAUCE: rtw88: add TX-AMSDU support
    - SAUCE: rtw88: add power tracking support
    - SAUCE: rtw88: Enable 802.11ac beamformee support
    - SAUCE: rtw88: flush hardware tx queues
    - SAUCE: rtw88: config 8822c multicast address in MAC init flow
    - SAUCE: rtw88: add set_bitrate_mask support
    - SAUCE: rtw88: use struct rtw_fw_hdr to access firmware header
    - SAUCE: rtw88: fix NSS of hw_cap
    - SAUCE: rtw88: fix error handling when setup efuse info
    - SAUCE: rtw88: fix wrong rx power calculation
    - SAUCE: rtw88: update regulatory settings implementaion
    - SAUCE: rtw88: check firmware leave lps successfully
    - SAUCE: rtw88: support wowlan feature for 8822c
    - SAUCE: rtw88: wowlan: support pattern match
    - SAUCE: rtw88: wowlan: support PNO for 8822C
    - SAUCE: rtw88: add phy_info debugfs to show Tx/Rx physical status
    - SAUCE: rtw88: coex: Set 4 slot mode for A2DP
    - SAUCE: rtw88: default enable LPS + LCLK
    - SAUCE: rtw88: add module parameter to enable PCIE clock request
    - SAUCE: rtw88: add module parameter to enable PCIE ASPM L1
    - SAUCE: rtw88: fix TX secondary channel offset of 40M if current bw is 20M or
      40M
    - SAUCE: rtw88: Use secondary channel offset enumeration to make better read
    - SAUCE: rtw88: keep leave and enter IPS as the first and last in config
      callback
    - SAUCE: rtw88: fix rate mask for 1SS chip
    - SAUCE: rtw88: refine conversion of rx_evm_dbm from rx_evm
    - SAUCE: rtw88: 8723d: Add basic chip information of 8723D
    - SAUCE: rtw88: 8723de: Add 8723DE to Kconfig and Makefile
    - SAUCE: rtw88: 8723d: check se...

Changed in linux-oem-osp1 (Ubuntu):
status: Invalid → Fix Released
AceLan Kao (acelankao) on 2019-12-10
no longer affects: linux (Ubuntu Disco)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers