diff options
author | Pavel Machek <pavel@ucw.cz> | 2005-09-03 18:56:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:06:16 -0400 |
commit | ca078bae813dd46c0f9b102fdfb4a3384641ff48 (patch) | |
tree | e3348f5dcb24159a522941aa2e3ee40bc9e0589b /drivers/scsi/mesh.c | |
parent | 829ca9a30a2ddb727981d80fabdbff2ea86bc9ea (diff) |
[PATCH] swsusp: switch pm_message_t to struct
This adds type-checking to pm_message_t, so that people can't confuse it
with int or u32. It also allows us to fix "disk yoyo" during suspend (disk
spinning down/up/down).
[We've tried that before; since that cpufreq problems were fixed and I've
tried make allyes config and fixed resulting damage.]
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/scsi/mesh.c')
-rw-r--r-- | drivers/scsi/mesh.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c index ff1933298da6..a4857db4f9b8 100644 --- a/drivers/scsi/mesh.c +++ b/drivers/scsi/mesh.c | |||
@@ -1766,7 +1766,7 @@ static int mesh_suspend(struct macio_dev *mdev, pm_message_t state) | |||
1766 | struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev); | 1766 | struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev); |
1767 | unsigned long flags; | 1767 | unsigned long flags; |
1768 | 1768 | ||
1769 | if (state == mdev->ofdev.dev.power.power_state || state < 2) | 1769 | if (state.event == mdev->ofdev.dev.power.power_state.event || state.event < 2) |
1770 | return 0; | 1770 | return 0; |
1771 | 1771 | ||
1772 | scsi_block_requests(ms->host); | 1772 | scsi_block_requests(ms->host); |
@@ -1791,7 +1791,7 @@ static int mesh_resume(struct macio_dev *mdev) | |||
1791 | struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev); | 1791 | struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev); |
1792 | unsigned long flags; | 1792 | unsigned long flags; |
1793 | 1793 | ||
1794 | if (mdev->ofdev.dev.power.power_state == 0) | 1794 | if (mdev->ofdev.dev.power.power_state.event == PM_EVENT_ON) |
1795 | return 0; | 1795 | return 0; |
1796 | 1796 | ||
1797 | set_mesh_power(ms, 1); | 1797 | set_mesh_power(ms, 1); |
@@ -1802,7 +1802,7 @@ static int mesh_resume(struct macio_dev *mdev) | |||
1802 | enable_irq(ms->meshintr); | 1802 | enable_irq(ms->meshintr); |
1803 | scsi_unblock_requests(ms->host); | 1803 | scsi_unblock_requests(ms->host); |
1804 | 1804 | ||
1805 | mdev->ofdev.dev.power.power_state = 0; | 1805 | mdev->ofdev.dev.power.power_state.event = PM_EVENT_ON; |
1806 | 1806 | ||
1807 | return 0; | 1807 | return 0; |
1808 | } | 1808 | } |