aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mesh.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 21:58:04 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 21:58:04 -0400
commit89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d (patch)
treee731456fec0cab1225ad3e806dc8d3efefa0a78b /drivers/scsi/mesh.c
parent260eddf4391f162a69d1d163729249635fa7a78f (diff)
parentfe9233fb6914a0eb20166c967e3020f7f0fba2c9 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits) [SCSI] scsi_dh: fix kconfig related build errors [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h [SCSI] make struct scsi_{host,target}_type static [SCSI] fix locking in host use of blk_plug_device() [SCSI] zfcp: Cleanup external header file [SCSI] zfcp: Cleanup code in zfcp_erp.c [SCSI] zfcp: zfcp_fsf cleanup. [SCSI] zfcp: consolidate sysfs things into one file. [SCSI] zfcp: Cleanup of code in zfcp_aux.c [SCSI] zfcp: Cleanup of code in zfcp_scsi.c [SCSI] zfcp: Move status accessors from zfcp to SCSI include file. [SCSI] zfcp: Small QDIO cleanups [SCSI] zfcp: Adapter reopen for large number of unsolicited status [SCSI] zfcp: Fix error checking for ELS ADISC requests [SCSI] zfcp: wait until adapter is finished with ERP during auto-port [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver [SCSI] sg: Add target reset support [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC [SCSI] sd: Move scsi_disk() accessor function to sd.h ...
Diffstat (limited to 'drivers/scsi/mesh.c')
-rw-r--r--drivers/scsi/mesh.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
index fd63b06d9ef1..11aa917629ac 100644
--- a/drivers/scsi/mesh.c
+++ b/drivers/scsi/mesh.c
@@ -1765,7 +1765,7 @@ static int mesh_suspend(struct macio_dev *mdev, pm_message_t mesg)
1765 default: 1765 default:
1766 return 0; 1766 return 0;
1767 } 1767 }
1768 if (mesg.event == mdev->ofdev.dev.power.power_state.event) 1768 if (ms->phase == sleeping)
1769 return 0; 1769 return 0;
1770 1770
1771 scsi_block_requests(ms->host); 1771 scsi_block_requests(ms->host);
@@ -1780,8 +1780,6 @@ static int mesh_suspend(struct macio_dev *mdev, pm_message_t mesg)
1780 disable_irq(ms->meshintr); 1780 disable_irq(ms->meshintr);
1781 set_mesh_power(ms, 0); 1781 set_mesh_power(ms, 0);
1782 1782
1783 mdev->ofdev.dev.power.power_state = mesg;
1784
1785 return 0; 1783 return 0;
1786} 1784}
1787 1785
@@ -1790,7 +1788,7 @@ static int mesh_resume(struct macio_dev *mdev)
1790 struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev); 1788 struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
1791 unsigned long flags; 1789 unsigned long flags;
1792 1790
1793 if (mdev->ofdev.dev.power.power_state.event == PM_EVENT_ON) 1791 if (ms->phase != sleeping)
1794 return 0; 1792 return 0;
1795 1793
1796 set_mesh_power(ms, 1); 1794 set_mesh_power(ms, 1);
@@ -1801,8 +1799,6 @@ static int mesh_resume(struct macio_dev *mdev)
1801 enable_irq(ms->meshintr); 1799 enable_irq(ms->meshintr);
1802 scsi_unblock_requests(ms->host); 1800 scsi_unblock_requests(ms->host);
1803 1801
1804 mdev->ofdev.dev.power.power_state.event = PM_EVENT_ON;
1805
1806 return 0; 1802 return 0;
1807} 1803}
1808 1804