Skip to content

Commit

Permalink
ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requ…
Browse files Browse the repository at this point in the history
…ests

Based on the earlier work by Tejun Heo.

There should be no functionality changes caused by this patch.

Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
  • Loading branch information
Bartlomiej Zolnierkiewicz committed Jan 25, 2008
1 parent 1f2564b commit 813a0eb
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions drivers/ide/ide-disk.c
Original file line number Diff line number Diff line change
@@ -601,19 +601,21 @@ static ide_proc_entry_t idedisk_proc[] = {
static void idedisk_prepare_flush(struct request_queue *q, struct request *rq)
{
ide_drive_t *drive = q->queuedata;
ide_task_t task;

memset(rq->cmd, 0, sizeof(rq->cmd));

memset(&task, 0, sizeof(task));
if (ide_id_has_flush_cache_ext(drive->id) &&
(drive->capacity64 >= (1UL << 28)))
rq->cmd[0] = WIN_FLUSH_CACHE_EXT;
task.tf.command = WIN_FLUSH_CACHE_EXT;
else
rq->cmd[0] = WIN_FLUSH_CACHE;

task.tf.command = WIN_FLUSH_CACHE;
task.tf_flags = IDE_TFLAG_OUT_TF | IDE_TFLAG_OUT_DEVICE;
task.command_type = IDE_DRIVE_TASK_NO_DATA;
task.handler = task_no_data_intr;

rq->cmd_type = REQ_TYPE_ATA_TASK;
rq->cmd_type = REQ_TYPE_ATA_TASKFILE;
rq->cmd_flags |= REQ_SOFTBARRIER;
rq->buffer = rq->cmd;
rq->special = &task;
}

/*

0 comments on commit 813a0eb

Please sign in to comment.