|
@@ -1765,7 +1765,7 @@ static int mesh_suspend(struct macio_dev *mdev, pm_message_t mesg)
|
|
|
default:
|
|
|
return 0;
|
|
|
}
|
|
|
- if (mesg.event == mdev->ofdev.dev.power.power_state.event)
|
|
|
+ if (ms->phase == sleeping)
|
|
|
return 0;
|
|
|
|
|
|
scsi_block_requests(ms->host);
|
|
@@ -1780,8 +1780,6 @@ static int mesh_suspend(struct macio_dev *mdev, pm_message_t mesg)
|
|
|
disable_irq(ms->meshintr);
|
|
|
set_mesh_power(ms, 0);
|
|
|
|
|
|
- mdev->ofdev.dev.power.power_state = mesg;
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -1790,7 +1788,7 @@ static int mesh_resume(struct macio_dev *mdev)
|
|
|
struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
|
|
|
unsigned long flags;
|
|
|
|
|
|
- if (mdev->ofdev.dev.power.power_state.event == PM_EVENT_ON)
|
|
|
+ if (ms->phase != sleeping)
|
|
|
return 0;
|
|
|
|
|
|
set_mesh_power(ms, 1);
|
|
@@ -1801,8 +1799,6 @@ static int mesh_resume(struct macio_dev *mdev)
|
|
|
enable_irq(ms->meshintr);
|
|
|
scsi_unblock_requests(ms->host);
|
|
|
|
|
|
- mdev->ofdev.dev.power.power_state.event = PM_EVENT_ON;
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|