Skip to content

Commit

Permalink
ide: remove ide_wait/head_wait path in ide_do_drive_cmd
Browse files Browse the repository at this point in the history
Now all the users of ide_do_drive_cmd using ide_wait/head_wait are
converted to use blk_execute_rq this removes the ide_wait/head_wait
path in ide_do_drive_cmd.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Borislav Petkov <petkovbb@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
  • Loading branch information
FUJITA Tomonori authored and Bartlomiej Zolnierkiewicz committed Jul 15, 2008
1 parent 5b11471 commit 5f2e1ce
Showing 1 changed file with 3 additions and 24 deletions.
27 changes: 3 additions & 24 deletions drivers/ide/ide-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -1584,23 +1584,11 @@ int ide_do_drive_cmd (ide_drive_t *drive, struct request *rq, ide_action_t actio
{
unsigned long flags;
ide_hwgroup_t *hwgroup = HWGROUP(drive);
DECLARE_COMPLETION_ONSTACK(wait);
int where = ELEVATOR_INSERT_BACK, err;
int must_wait = (action == ide_wait || action == ide_head_wait);
int where = ELEVATOR_INSERT_BACK;

rq->errors = 0;

/*
* we need to hold an extra reference to request for safe inspection
* after completion
*/
if (must_wait) {
rq->ref_count++;
rq->end_io_data = &wait;
rq->end_io = blk_end_sync_rq;
}

if (action == ide_preempt || action == ide_head_wait)
if (action == ide_preempt)
where = ELEVATOR_INSERT_FRONT;

spin_lock_irqsave(&ide_lock, flags);
Expand All @@ -1613,16 +1601,7 @@ int ide_do_drive_cmd (ide_drive_t *drive, struct request *rq, ide_action_t actio
do_ide_request(drive->queue);
spin_unlock_irqrestore(&ide_lock, flags);

err = 0;
if (must_wait) {
wait_for_completion(&wait);
if (rq->errors)
err = -EIO;

blk_put_request(rq);
}

return err;
return 0;
}

EXPORT_SYMBOL(ide_do_drive_cmd);
Expand Down

0 comments on commit 5f2e1ce

Please sign in to comment.