linux-stable/drivers/misc/mei
Alexander Usyskin 557909e195 mei: exclude device from suspend direct complete optimization
MEI device performs link reset during system suspend sequence.
The link reset cannot be performed while device is in
runtime suspend state. The resume sequence is bypassed with
suspend direct complete optimization,so the optimization should be
disabled for mei devices.

Fixes:
 [  192.940537] Restarting tasks ...
 [  192.940610] PGI is not set
 [  192.940619] ------------[ cut here ]------------ [  192.940623]
 WARNING: CPU: 0
 me.c:653 mei_me_pg_exit_sync+0x351/0x360 [  192.940624] Modules
 linked
 in:
 [  192.940627] CPU: 0 PID: 1661 Comm: kworker/0:3 Not tainted
 4.13.0-rc2+
 #2 [  192.940628] Hardware name: Dell Inc. XPS 13 9343/0TM99H, BIOS
 A11
 12/08/2016 [  192.940630] Workqueue: pm pm_runtime_work <snip> [
 192.940642] Call Trace:
 [  192.940646]  ? pci_pme_active+0x1de/0x1f0 [  192.940649]  ?
 pci_restore_standard_config+0x50/0x50
 [  192.940651]  ? kfree+0x172/0x190
 [  192.940653]  ? kfree+0x172/0x190
 [  192.940655]  ? pci_restore_standard_config+0x50/0x50
 [  192.940663]  mei_me_pm_runtime_resume+0x3f/0xc0
 [  192.940665]  pci_pm_runtime_resume+0x7a/0xa0 [  192.940667]
 __rpm_callback+0xb9/0x1e0 [  192.940668]  ?
 preempt_count_add+0x6d/0xc0 [  192.940670]  rpm_callback+0x24/0x90 [
 192.940672]  ? pci_restore_standard_config+0x50/0x50
 [  192.940674]  rpm_resume+0x4e8/0x800 [  192.940676]
 pm_runtime_work+0x55/0xb0 [  192.940678]
 process_one_work+0x184/0x3e0 [  192.940680]
 worker_thread+0x4d/0x3a0 [ 192.940681]  ?
 preempt_count_sub+0x9b/0x100 [  192.940683]
 kthread+0x122/0x140 [  192.940684]  ? process_one_work+0x3e0/0x3e0 [
 192.940685]  ? __kthread_create_on_node+0x1a0/0x1a0
 [  192.940688]  ret_from_fork+0x27/0x40 [  192.940690] Code: 96 3a
 9e ff 48 8b 7d 98 e8 cd 21 58 00 83 bb bc 01 00 00
 04 0f 85 40 fe ff ff e9 41 fe ff ff 48 c7 c7 5f 04 99 96 e8 93 6b 9f
 ff <0f> ff e9 5d fd ff ff e8 33 fe 99 ff 0f 1f 00 0f 1f 44 00 00 55
 [  192.940719] ---[ end trace
 a86955597774ead8 ]--- [  192.942540] done.

Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reported-by: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-10 14:13:18 -07:00
..
Kconfig mei: wd: drop the watchdog code from the core mei driver 2016-02-06 22:11:06 -08:00
Makefile mei: drop amthif internal client 2017-04-08 17:38:25 +02:00
bus-fixup.c mei: bus: elminate variable length arrays 2017-04-08 17:38:25 +02:00
bus.c Merge 4.12-rc5 into char-misc-next 2017-06-12 08:18:10 +02:00
client.c mei: drop amthif internal client 2017-04-08 17:38:25 +02:00
client.h mei: drop amthif internal client 2017-04-08 17:38:25 +02:00
debugfs.c Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 13:23:30 -08:00
hbm.c mei: hbm: remove variable length arrays 2017-04-08 17:38:25 +02:00
hbm.h mei: me: d0i3: add d0i3 enter/exit state machine 2015-08-03 17:33:55 -07:00
hw-me-regs.h mei: me: add lewisburg device ids 2016-11-29 20:15:30 +01:00
hw-me.c mei: me: generate an interrupt if the hw indicates reset. 2017-02-03 11:49:06 +01:00
hw-me.h mei: fix the back to back interrupt handling 2016-12-06 11:03:22 +01:00
hw-txe-regs.h mei: extract fw status registers 2014-05-03 19:21:22 -04:00
hw-txe.c mei: simplify error handling via devres function. 2017-01-31 11:08:18 +01:00
hw-txe.h mei: simplify error handling via devres function. 2017-01-31 11:08:18 +01:00
hw.h mei: hw: fix a spelling mistake 2017-05-25 18:24:03 +02:00
init.c mei: drop unreachable code in mei_start 2017-06-13 15:46:18 +02:00
interrupt.c mei: validate the message header only in first fragment. 2017-06-13 15:46:18 +02:00
main.c mei: implement fsync 2017-04-08 17:38:25 +02:00
mei-trace.c mei: trace pci configuration space io 2016-02-07 13:00:52 -08:00
mei-trace.h mei: drop superfluous closing bracket from write traces 2016-02-07 14:47:20 -08:00
mei_dev.h mei: make mei_cl_bus_rescan static 2017-05-25 18:24:03 +02:00
pci-me.c mei: exclude device from suspend direct complete optimization 2017-08-10 14:13:18 -07:00
pci-txe.c mei: exclude device from suspend direct complete optimization 2017-08-10 14:13:18 -07:00