ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests
PATCH 13/15 ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests
Based on the earlier work by Tejun Heo.
There should be no functionality changes caused by this patch.
Cc Tejun Heo <[email protected]>
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-disk.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-)
drivers/ide/ide-disk.c +9 -7
@@ -627,19 +627,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; }/*