Workaround for dw_dmac causing random hang when booting

Bug #1501580 reported by Phidias
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Phidias
linux (Ubuntu)
Incomplete
Medium
Phidias
Vivid
Fix Released
Undecided
Unassigned

Bug Description

On HP X360, we've found dw_dmac hangs system when booting with very high fail rate (~80%). System can not turn power off when shutting down either if dw_dmac is loaded.

The maintainer from Intel is proposing a patch to fix this issue, but won't be available until 4.3 or 4.4, and there're users already hit this problem[1], so we proposed a temporarily workaround to skip probing in dw_dmac by returning -ENODEV directly if DMI_PRODUCT_NAME matches HP X360 before the fix is ready.

[1]: https://bugzilla.kernel.org/show_bug.cgi?id=101271

Phidias (phidias-chiang)
tags: added: vivid
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1501580

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
Changed in linux (Ubuntu):
assignee: nobody → Phidias (phidias-chiang)
penalvch (penalvch)
Changed in linux (Ubuntu):
importance: Undecided → Medium
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: Incomplete → Fix Committed
Changed in linux (Ubuntu Vivid):
status: New → Fix Committed
Changed in linux (Ubuntu):
status: Fix Committed → New
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Brad Figg (brad-figg) 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-vivid' to 'verification-done-vivid'.

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-vivid
Revision history for this message
Phidias (phidias-chiang) wrote :

Test:
1. Remove `blacklist dw_dmac` workaround
2. Install proposed kernel
3. Test if system hangs -> pass
4. Check if the message "HP X360 detected, skip probing" appears -> yes

Since in the patch it compares the product name in DMI string to decide if to skip the dw_dmac probing, so no side-effect is expected.

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

This bug was fixed in the package linux - 3.19.0-32.37

---------------
linux (3.19.0-32.37) vivid; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1508381

  [ Joseph Salisbury ]

  * SAUCE: storvsc: use small sg_tablesize on x86
    - LP: #1495983

  [ Phidias Chiang ]

  * SAUCE: dma: dw_dmac: Workaround for stop probing on HP X360 laptop v2
    - LP: #1501580

  [ Tim Gardner ]

  * [Config] Add MMC modules sufficient for net booting
    - LP: #1502772

  [ Upstream Kernel Changes ]

  * USB: whiteheat: fix potential null-deref at probe
    - LP: #1478826
    - CVE-2015-5257
  * dcache: Handle escaped paths in prepend_path
    - LP: #1441108
    - CVE-2015-2925
  * vfs: Test for and handle paths that are unreachable from their mnt_root
    - LP: #1441108
    - CVE-2015-2925
  * hv_netvsc: Add support to set MTU reservation from guest side
    - LP: #1494431
  * hv_netvsc: Add close of RNDIS filter into change mtu call
    - LP: #1494431
  * powerpc/eeh: Fix missed PE#0 on P7IOC
    - LP: #1502982
  * powerpc/powernv: display reason for Malfunction Alert HMI.
    - LP: #1482343
  * powerpc/powernv: Pull all HMI events before panic.
    - LP: #1482343
  * powerpc/powernv: Invoke opal_cec_reboot2() on unrecoverable machine
    check errors.
    - LP: #1482343
  * powerpc/powernv: Invoke opal_cec_reboot2() on unrecoverable HMI.
    - LP: #1482343
  * powerpc/eeh: Fix PE#0 check in eeh_add_to_parent_pe()
    - LP: #1502982
  * HID: i2c-hid: The interrupt should be level sensitive v2
    - LP: #1501187
  * HID: i2c-hid: Add support for ACPI GPIO interrupts v2
    - LP: #1501187

 -- Luis Henriques <email address hidden> Wed, 21 Oct 2015 10:30:13 +0100

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
Revision history for this message
Libor Chmelik (libor-chmelik) wrote :

This bug also appears on Acer Aspire E15 Laptops (E5-511-P7AT) and (E5-511-P01P) on 14.04.3 Trusty with kernel 3.19.0-28.

If dw_dmac and dw_dmac_core are not blacklisted, everytime on Shut Down or Reboot comes a black screen and the fan starts spinning like crazy every +-20 seconds, but the machine doesn't shut down or reboot.

I hope this issue will be fixed for the next LTS 16.04 ?

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Phidias - Do you think this patch should be applied to Wily and Xenial ?

Revision history for this message
Phidias (phidias-chiang) wrote :

At the moment I'll say no.

This issue doesn't happen anymore after firmware update on HP X360. I've asked FE in Taipei to help downgrading the firmware last week, so I can verify some patches for dw_dmac, and hopefully can also fix the issue in #6

If there are fixes for this issue, I'll open another bug to send SRU, and revert this workaround.

Revision history for this message
Andy Shevchenko (andy.shevchenko) wrote :
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.