PNP: fix restoring devices after hibernation
On returning from hibernation 'restore' callback is called,
not 'resume'. Fix it.
Fixes: eaf140b60e
(PNP: convert PNP driver bus legacy pm_ops to dev_pm_ops)
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: 3.12+ <stable@vger.kernel.org> # 3.12+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
dc1ccc4815
commit
8a37ea50e7
|
@ -197,6 +197,11 @@ static int pnp_bus_freeze(struct device *dev)
|
|||
return __pnp_bus_suspend(dev, PMSG_FREEZE);
|
||||
}
|
||||
|
||||
static int pnp_bus_poweroff(struct device *dev)
|
||||
{
|
||||
return __pnp_bus_suspend(dev, PMSG_HIBERNATE);
|
||||
}
|
||||
|
||||
static int pnp_bus_resume(struct device *dev)
|
||||
{
|
||||
struct pnp_dev *pnp_dev = to_pnp_dev(dev);
|
||||
|
@ -234,9 +239,14 @@ static int pnp_bus_resume(struct device *dev)
|
|||
}
|
||||
|
||||
static const struct dev_pm_ops pnp_bus_dev_pm_ops = {
|
||||
/* Suspend callbacks */
|
||||
.suspend = pnp_bus_suspend,
|
||||
.freeze = pnp_bus_freeze,
|
||||
.resume = pnp_bus_resume,
|
||||
/* Hibernate callbacks */
|
||||
.freeze = pnp_bus_freeze,
|
||||
.thaw = pnp_bus_resume,
|
||||
.poweroff = pnp_bus_poweroff,
|
||||
.restore = pnp_bus_resume,
|
||||
};
|
||||
|
||||
struct bus_type pnp_bus_type = {
|
||||
|
|
Loading…
Reference in New Issue