]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
PM / driver core: disable device's runtime PM during shutdown
authorPeter Chen <peter.chen@freescale.com>
Tue, 15 Nov 2011 20:52:29 +0000 (21:52 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 26 Nov 2011 17:09:56 +0000 (09:09 -0800)
commit4fed2211f1f82bcf36f5b41942dfc453e85eac60
tree63377388ff2e2c1c51aa7dbb45b3e576ef808b2f
parentd11d8cff78f91d5b956975b5c9e4c271e15f864e
PM / driver core: disable device's runtime PM during shutdown

commit af8db1508f2c9f3b6e633e2d2d906c6557c617f9 upstream.

There may be an issue when the user issue "reboot/shutdown" command, then
the device has shut down its hardware, after that, this runtime-pm featured
device's driver will probably be scheduled to do its suspend routine,
and at its suspend routine, it may access hardware, but the device has
already shutdown physically, then the system hang may be occurred.

I ran out this issue using an auto-suspend supported USB devices, like
3G modem, keyboard. The usb runtime suspend routine may be scheduled
after the usb controller has been shut down, and the usb runtime suspend
routine will try to suspend its roothub(controller), it will access
register, then the system hang occurs as the controller is shutdown.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Acked-by: Ming Lei <tom.leiming@gmail.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/core.c