Skip to content

Commit

Permalink
PNP: fix restoring devices after hibernation
Browse files Browse the repository at this point in the history
On returning from hibernation 'restore' callback is called,
not 'resume'.  Fix it.

Fixes: eaf140b (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>
  • Loading branch information
Dmitry Torokhov authored and Rafael J. Wysocki committed Dec 5, 2013
1 parent dc1ccc4 commit 8a37ea5
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion drivers/pnp/driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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 = {
Expand Down

0 comments on commit 8a37ea5

Please sign in to comment.