I tested with: 4.6.0-040600rc4-generic #201604172330 SMP Mon Apr 18 03:32:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux I can confirm that this one does not hang during resume after trying about ten times. Two times out of 10 I got this in dmesg: [ 77.422675] ------------[ cut here ]------------ [ 77.422733] WARNING: CPU: 0 PID: 2141 at /home/kernel/COD/linux/drivers/gpu/drm/i915/intel_uncore.c:649 __unclaimed_reg_debug+0x80/0x90 [i915] [ 77.422735] Unclaimed register detected after reading register 0x65f10 [ 77.422789] Modules linked in: drbg ansi_cprng ctr ccm msr bnep binfmt_misc dm_crypt arc4 intel_rapl x86_pkg_temp_thermal snd_soc_skl acer_wmi intel_powerclamp sparse_keymap coretemp kvm_intel snd_soc_skl_ipc snd_soc_sst_ipc kvm snd_soc_sst_dsp irqbypass snd_hda_codec_hdmi snd_hda_ext_core snd_soc_sst_match crct10dif_pclmul snd_soc_core crc32_pclmul ghash_clmulni_intel iwlmvm snd_hda_codec_conexant aesni_intel snd_hda_codec_generic mac80211 snd_compress ac97_bus aes_x86_64 lrw gf128mul glue_helper snd_pcm_dmaengine ablk_helper dw_dmac_core cryptd snd_hda_intel iwlwifi snd_hda_codec input_leds joydev snd_hda_core snd_hwdep serio_raw uvcvideo cdc_mbim cdc_wdm videobuf2_vmalloc videobuf2_memops qcserial cdc_ncm snd_pcm videobuf2_v4l2 usbnet usb_wwan videobuf2_core mii videodev usbserial rtsx_pci_ms [ 77.422824] cfg80211 media memstick btusb btrtl btbcm btintel bluetooth thinkpad_acpi nvram snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq mei_me mei shpchp snd_seq_device intel_pch_thermal snd_timer snd soundcore mac_hid parport_pc ppdev lp parport autofs4 i915 i2c_algo_bit drm_kms_helper rtsx_pci_sdmmc e1000e syscopyarea sysfillrect ptp sysimgblt psmouse fb_sys_fops pps_core ahci rtsx_pci drm libahci wmi video fjes [ 77.422828] CPU: 0 PID: 2141 Comm: kworker/u16:6 Not tainted 4.6.0-040600rc4-generic #201604172330 [ 77.422830] Hardware name: LENOVO 20FB003PMS/20FB003PMS, BIOS N1FET37W (1.11 ) 03/15/2016 [ 77.422839] Workqueue: events_unbound async_run_entry_fn [ 77.422844] 0000000000000086 000000003e1632fd ffff880089e47a58 ffffffff813eee03 [ 77.422848] ffff880089e47aa8 0000000000000000 ffff880089e47a98 ffffffff810827cb [ 77.422851] 0000028989e47a78 0000000000000000 0000000000000001 0000000000065f10 [ 77.422852] Call Trace: [ 77.422862] [] dump_stack+0x63/0x90 [ 77.422867] [] __warn+0xcb/0xf0 [ 77.422871] [] warn_slowpath_fmt+0x5f/0x80 [ 77.422915] [] __unclaimed_reg_debug+0x80/0x90 [i915] [ 77.422953] [] gen9_read32+0x35b/0x390 [i915] [ 77.422996] [] i915_audio_component_codec_wake_override+0x39/0xb0 [i915] [ 77.423008] [] snd_hdac_set_codec_wakeup+0x3f/0xa0 [snd_hda_core] [ 77.423014] [] azx_runtime_resume+0x184/0x1a0 [snd_hda_intel] [ 77.423019] [] pci_pm_runtime_resume+0x7b/0xa0 [ 77.423025] [] __rpm_callback+0x33/0x70 [ 77.423029] [] ? pci_restore_standard_config+0x40/0x40 [ 77.423033] [] rpm_callback+0x24/0x80 [ 77.423037] [] ? pci_restore_standard_config+0x40/0x40 [ 77.423040] [] rpm_resume+0x491/0x690 [ 77.423046] [] ? check_preempt_curr+0x80/0x90 [ 77.423050] [] __pm_runtime_resume+0x4e/0x70 [ 77.423054] [] pci_pm_suspend+0x5c/0x140 [ 77.423059] [] ? pci_pm_freeze+0xe0/0xe0 [ 77.423064] [] dpm_run_callback+0x4e/0x130 [ 77.423069] [] __device_suspend+0x148/0x370 [ 77.423073] [] async_suspend+0x1f/0xa0 [ 77.423078] [] async_run_entry_fn+0x48/0x150 [ 77.423083] [] process_one_work+0x165/0x480 [ 77.423088] [] worker_thread+0x4b/0x500 [ 77.423093] [] ? process_one_work+0x480/0x480 [ 77.423097] [] ? process_one_work+0x480/0x480 [ 77.423100] [] kthread+0xd8/0xf0 [ 77.423105] [] ret_from_fork+0x22/0x40 [ 77.423109] [] ? kthread_create_on_node+0x1a0/0x1a0 [ 77.423111] ---[ end trace 16296147ce748c35 ]--- But everything seems to work as far as I can tell.