• Peter Chen's avatar
    PM / driver core: disable device's runtime PM during shutdown · af8db150
    Peter Chen authored
    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: default avatarPeter Chen <peter.chen@freescale.com>
    Acked-by: default avatarMing Lei <tom.leiming@gmail.com>
    Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    Cc: stable@kernel.org
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    af8db150
core.c 46.1 KB