Loading drivers/ide/ide-io.c +10 −9 Original line number Original line Diff line number Diff line Loading @@ -132,10 +132,14 @@ int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors) } } EXPORT_SYMBOL(ide_end_request); EXPORT_SYMBOL(ide_end_request); static void ide_complete_power_step(ide_drive_t *drive, struct request *rq, u8 stat, u8 error) static void ide_complete_power_step(ide_drive_t *drive, struct request *rq) { { struct request_pm_state *pm = rq->data; struct request_pm_state *pm = rq->data; #ifdef DEBUG_PM printk(KERN_INFO "%s: complete_power_step(step: %d)\n", drive->name, pm->pm_step); #endif if (drive->media != ide_disk) if (drive->media != ide_disk) return; return; Loading Loading @@ -172,7 +176,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * /* Not supported? Switch to next step now. */ /* Not supported? Switch to next step now. */ if (ata_id_flush_enabled(drive->id) == 0 || if (ata_id_flush_enabled(drive->id) == 0 || (drive->dev_flags & IDE_DFLAG_WCACHE) == 0) { (drive->dev_flags & IDE_DFLAG_WCACHE) == 0) { ide_complete_power_step(drive, rq, 0, 0); ide_complete_power_step(drive, rq); return ide_stopped; return ide_stopped; } } if (ata_id_flush_ext_enabled(drive->id)) if (ata_id_flush_ext_enabled(drive->id)) Loading @@ -191,7 +195,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * if (drive->media != ide_disk) if (drive->media != ide_disk) pm->pm_step = IDE_PM_RESTORE_DMA; pm->pm_step = IDE_PM_RESTORE_DMA; else else ide_complete_power_step(drive, rq, 0, 0); ide_complete_power_step(drive, rq); return ide_stopped; return ide_stopped; case IDE_PM_IDLE: /* Resume step 2 (idle) */ case IDE_PM_IDLE: /* Resume step 2 (idle) */ args->tf.command = ATA_CMD_IDLEIMMEDIATE; args->tf.command = ATA_CMD_IDLEIMMEDIATE; Loading Loading @@ -320,11 +324,8 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) } } } else if (blk_pm_request(rq)) { } else if (blk_pm_request(rq)) { struct request_pm_state *pm = rq->data; struct request_pm_state *pm = rq->data; #ifdef DEBUG_PM printk("%s: complete_power_step(step: %d, stat: %x, err: %x)\n", ide_complete_power_step(drive, rq); drive->name, rq->pm->pm_step, stat, err); #endif ide_complete_power_step(drive, rq, stat, err); if (pm->pm_step == IDE_PM_COMPLETED) if (pm->pm_step == IDE_PM_COMPLETED) ide_complete_pm_request(drive, rq); ide_complete_pm_request(drive, rq); return; return; Loading Loading @@ -802,7 +803,7 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) struct request_pm_state *pm = rq->data; struct request_pm_state *pm = rq->data; #ifdef DEBUG_PM #ifdef DEBUG_PM printk("%s: start_power_step(step: %d)\n", printk("%s: start_power_step(step: %d)\n", drive->name, rq->pm->pm_step); drive->name, pm->pm_step); #endif #endif startstop = ide_start_power_step(drive, rq); startstop = ide_start_power_step(drive, rq); if (startstop == ide_stopped && if (startstop == ide_stopped && Loading Loading
drivers/ide/ide-io.c +10 −9 Original line number Original line Diff line number Diff line Loading @@ -132,10 +132,14 @@ int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors) } } EXPORT_SYMBOL(ide_end_request); EXPORT_SYMBOL(ide_end_request); static void ide_complete_power_step(ide_drive_t *drive, struct request *rq, u8 stat, u8 error) static void ide_complete_power_step(ide_drive_t *drive, struct request *rq) { { struct request_pm_state *pm = rq->data; struct request_pm_state *pm = rq->data; #ifdef DEBUG_PM printk(KERN_INFO "%s: complete_power_step(step: %d)\n", drive->name, pm->pm_step); #endif if (drive->media != ide_disk) if (drive->media != ide_disk) return; return; Loading Loading @@ -172,7 +176,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * /* Not supported? Switch to next step now. */ /* Not supported? Switch to next step now. */ if (ata_id_flush_enabled(drive->id) == 0 || if (ata_id_flush_enabled(drive->id) == 0 || (drive->dev_flags & IDE_DFLAG_WCACHE) == 0) { (drive->dev_flags & IDE_DFLAG_WCACHE) == 0) { ide_complete_power_step(drive, rq, 0, 0); ide_complete_power_step(drive, rq); return ide_stopped; return ide_stopped; } } if (ata_id_flush_ext_enabled(drive->id)) if (ata_id_flush_ext_enabled(drive->id)) Loading @@ -191,7 +195,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * if (drive->media != ide_disk) if (drive->media != ide_disk) pm->pm_step = IDE_PM_RESTORE_DMA; pm->pm_step = IDE_PM_RESTORE_DMA; else else ide_complete_power_step(drive, rq, 0, 0); ide_complete_power_step(drive, rq); return ide_stopped; return ide_stopped; case IDE_PM_IDLE: /* Resume step 2 (idle) */ case IDE_PM_IDLE: /* Resume step 2 (idle) */ args->tf.command = ATA_CMD_IDLEIMMEDIATE; args->tf.command = ATA_CMD_IDLEIMMEDIATE; Loading Loading @@ -320,11 +324,8 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) } } } else if (blk_pm_request(rq)) { } else if (blk_pm_request(rq)) { struct request_pm_state *pm = rq->data; struct request_pm_state *pm = rq->data; #ifdef DEBUG_PM printk("%s: complete_power_step(step: %d, stat: %x, err: %x)\n", ide_complete_power_step(drive, rq); drive->name, rq->pm->pm_step, stat, err); #endif ide_complete_power_step(drive, rq, stat, err); if (pm->pm_step == IDE_PM_COMPLETED) if (pm->pm_step == IDE_PM_COMPLETED) ide_complete_pm_request(drive, rq); ide_complete_pm_request(drive, rq); return; return; Loading Loading @@ -802,7 +803,7 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) struct request_pm_state *pm = rq->data; struct request_pm_state *pm = rq->data; #ifdef DEBUG_PM #ifdef DEBUG_PM printk("%s: start_power_step(step: %d)\n", printk("%s: start_power_step(step: %d)\n", drive->name, rq->pm->pm_step); drive->name, pm->pm_step); #endif #endif startstop = ide_start_power_step(drive, rq); startstop = ide_start_power_step(drive, rq); if (startstop == ide_stopped && if (startstop == ide_stopped && Loading