diff options
Diffstat (limited to 'drivers/ide/ide-pm.c')
-rw-r--r-- | drivers/ide/ide-pm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ide/ide-pm.c b/drivers/ide/ide-pm.c index ebf2d21ebdcb..bb7858ebb7d1 100644 --- a/drivers/ide/ide-pm.c +++ b/drivers/ide/ide-pm.c | |||
@@ -223,6 +223,7 @@ void ide_check_pm_state(ide_drive_t *drive, struct request *rq) | |||
223 | * point. | 223 | * point. |
224 | */ | 224 | */ |
225 | ide_hwif_t *hwif = drive->hwif; | 225 | ide_hwif_t *hwif = drive->hwif; |
226 | const struct ide_tp_ops *tp_ops = hwif->tp_ops; | ||
226 | struct request_queue *q = drive->queue; | 227 | struct request_queue *q = drive->queue; |
227 | unsigned long flags; | 228 | unsigned long flags; |
228 | int rc; | 229 | int rc; |
@@ -232,8 +233,8 @@ void ide_check_pm_state(ide_drive_t *drive, struct request *rq) | |||
232 | rc = ide_wait_not_busy(hwif, 35000); | 233 | rc = ide_wait_not_busy(hwif, 35000); |
233 | if (rc) | 234 | if (rc) |
234 | printk(KERN_WARNING "%s: bus not ready on wakeup\n", drive->name); | 235 | printk(KERN_WARNING "%s: bus not ready on wakeup\n", drive->name); |
235 | SELECT_DRIVE(drive); | 236 | tp_ops->dev_select(drive); |
236 | hwif->tp_ops->set_irq(hwif, 1); | 237 | tp_ops->write_devctl(hwif, ATA_DEVCTL_OBS); |
237 | rc = ide_wait_not_busy(hwif, 100000); | 238 | rc = ide_wait_not_busy(hwif, 100000); |
238 | if (rc) | 239 | if (rc) |
239 | printk(KERN_WARNING "%s: drive not ready on wakeup\n", drive->name); | 240 | printk(KERN_WARNING "%s: drive not ready on wakeup\n", drive->name); |