diff options
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 696525342e9a..5aed79ed4586 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -1600,13 +1600,12 @@ int ide_do_drive_cmd (ide_drive_t *drive, struct request *rq, ide_action_t actio | |||
1600 | rq->end_io = blk_end_sync_rq; | 1600 | rq->end_io = blk_end_sync_rq; |
1601 | } | 1601 | } |
1602 | 1602 | ||
1603 | if (action == ide_preempt || action == ide_head_wait) | ||
1604 | where = ELEVATOR_INSERT_FRONT; | ||
1605 | |||
1603 | spin_lock_irqsave(&ide_lock, flags); | 1606 | spin_lock_irqsave(&ide_lock, flags); |
1604 | if (action == ide_preempt) | 1607 | if (action == ide_preempt) |
1605 | hwgroup->rq = NULL; | 1608 | hwgroup->rq = NULL; |
1606 | if (action == ide_preempt || action == ide_head_wait) { | ||
1607 | where = ELEVATOR_INSERT_FRONT; | ||
1608 | rq->cmd_flags |= REQ_PREEMPT; | ||
1609 | } | ||
1610 | __elv_add_request(drive->queue, rq, where, 0); | 1609 | __elv_add_request(drive->queue, rq, where, 0); |
1611 | ide_do_request(hwgroup, IDE_NO_IRQ); | 1610 | ide_do_request(hwgroup, IDE_NO_IRQ); |
1612 | spin_unlock_irqrestore(&ide_lock, flags); | 1611 | spin_unlock_irqrestore(&ide_lock, flags); |