diff options
Diffstat (limited to 'drivers/scsi/mesh.c')
| -rw-r--r-- | drivers/scsi/mesh.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c index 592b52afe658..683fc7ae4b8f 100644 --- a/drivers/scsi/mesh.c +++ b/drivers/scsi/mesh.c | |||
| @@ -1756,16 +1756,23 @@ static void set_mesh_power(struct mesh_state *ms, int state) | |||
| 1756 | pmac_call_feature(PMAC_FTR_MESH_ENABLE, macio_get_of_node(ms->mdev), 0, 0); | 1756 | pmac_call_feature(PMAC_FTR_MESH_ENABLE, macio_get_of_node(ms->mdev), 0, 0); |
| 1757 | msleep(10); | 1757 | msleep(10); |
| 1758 | } | 1758 | } |
| 1759 | } | 1759 | } |
| 1760 | 1760 | ||
| 1761 | 1761 | ||
| 1762 | #ifdef CONFIG_PM | 1762 | #ifdef CONFIG_PM |
| 1763 | static int mesh_suspend(struct macio_dev *mdev, pm_message_t state) | 1763 | static int mesh_suspend(struct macio_dev *mdev, pm_message_t mesg) |
| 1764 | { | 1764 | { |
| 1765 | struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev); | 1765 | struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev); |
| 1766 | unsigned long flags; | 1766 | unsigned long flags; |
| 1767 | 1767 | ||
| 1768 | if (state.event == mdev->ofdev.dev.power.power_state.event || state.event < 2) | 1768 | switch (mesg.event) { |
| 1769 | case PM_EVENT_SUSPEND: | ||
| 1770 | case PM_EVENT_FREEZE: | ||
| 1771 | break; | ||
| 1772 | default: | ||
| 1773 | return 0; | ||
| 1774 | } | ||
| 1775 | if (mesg.event == mdev->ofdev.dev.power.power_state.event) | ||
| 1769 | return 0; | 1776 | return 0; |
| 1770 | 1777 | ||
| 1771 | scsi_block_requests(ms->host); | 1778 | scsi_block_requests(ms->host); |
| @@ -1780,7 +1787,7 @@ static int mesh_suspend(struct macio_dev *mdev, pm_message_t state) | |||
| 1780 | disable_irq(ms->meshintr); | 1787 | disable_irq(ms->meshintr); |
| 1781 | set_mesh_power(ms, 0); | 1788 | set_mesh_power(ms, 0); |
| 1782 | 1789 | ||
| 1783 | mdev->ofdev.dev.power.power_state = state; | 1790 | mdev->ofdev.dev.power.power_state = mesg; |
| 1784 | 1791 | ||
| 1785 | return 0; | 1792 | return 0; |
| 1786 | } | 1793 | } |
