diff options
Diffstat (limited to 'drivers/ide/ide-pm.c')
-rw-r--r-- | drivers/ide/ide-pm.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/ide/ide-pm.c b/drivers/ide/ide-pm.c index 60538d9c84ee..74c7c2bbe0fd 100644 --- a/drivers/ide/ide-pm.c +++ b/drivers/ide/ide-pm.c | |||
@@ -169,18 +169,23 @@ out_do_tf: | |||
169 | } | 169 | } |
170 | 170 | ||
171 | /** | 171 | /** |
172 | * ide_complete_pm_request - end the current Power Management request | 172 | * ide_complete_pm_rq - end the current Power Management request |
173 | * @drive: target drive | 173 | * @drive: target drive |
174 | * @rq: request | 174 | * @rq: request |
175 | * | 175 | * |
176 | * This function cleans up the current PM request and stops the queue | 176 | * This function cleans up the current PM request and stops the queue |
177 | * if necessary. | 177 | * if necessary. |
178 | */ | 178 | */ |
179 | void ide_complete_pm_request(ide_drive_t *drive, struct request *rq) | 179 | void ide_complete_pm_rq(ide_drive_t *drive, struct request *rq) |
180 | { | 180 | { |
181 | struct request_queue *q = drive->queue; | 181 | struct request_queue *q = drive->queue; |
182 | struct request_pm_state *pm = rq->data; | ||
182 | unsigned long flags; | 183 | unsigned long flags; |
183 | 184 | ||
185 | ide_complete_power_step(drive, rq); | ||
186 | if (pm->pm_step != IDE_PM_COMPLETED) | ||
187 | return; | ||
188 | |||
184 | #ifdef DEBUG_PM | 189 | #ifdef DEBUG_PM |
185 | printk("%s: completing PM request, %s\n", drive->name, | 190 | printk("%s: completing PM request, %s\n", drive->name, |
186 | blk_pm_suspend_request(rq) ? "suspend" : "resume"); | 191 | blk_pm_suspend_request(rq) ? "suspend" : "resume"); |