* Rename 'args' variable in 'if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE)' block to 'task'.
* execute_drive_cmd() is used only for REQ_TYPE_ATA_{CMD,TASK,TASKFILE} so we can move the common code out from 'if (rq->cmd_type == REQ_TYPE_ATA_CMD)' and 'if (rq->cmd_type == REQ_TYPE_ATA_TASK)' blocks. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]> --- drivers/ide/ide-io.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) Index: b/drivers/ide/ide-io.c =================================================================== --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c @@ -867,13 +867,15 @@ static ide_startstop_t execute_drive_cmd struct request *rq) { ide_hwif_t *hwif = HWIF(drive); + u8 *args = rq->buffer; + if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE) { - ide_task_t *args = rq->special; + ide_task_t *task = rq->special; - if (!args) + if (task == NULL) goto done; - hwif->data_phase = args->data_phase; + hwif->data_phase = task->data_phase; switch (hwif->data_phase) { case TASKFILE_MULTI_OUT: @@ -886,19 +888,20 @@ static ide_startstop_t execute_drive_cmd break; } - if (args->tf_flags & IDE_TFLAG_FLAGGED) - return flagged_taskfile(drive, args); + if (task->tf_flags & IDE_TFLAG_FLAGGED) + return flagged_taskfile(drive, task); - args->tf_flags |= IDE_TFLAG_OUT_TF; + task->tf_flags |= IDE_TFLAG_OUT_TF; if (drive->addressing == 1) - args->tf_flags |= (IDE_TFLAG_LBA48 | IDE_TFLAG_OUT_HOB); + task->tf_flags |= (IDE_TFLAG_LBA48 | IDE_TFLAG_OUT_HOB); - return do_rw_taskfile(drive, args); - } else if (rq->cmd_type == REQ_TYPE_ATA_TASK) { - u8 *args = rq->buffer; - - if (!args) - goto done; + return do_rw_taskfile(drive, task); + } + + if (args == NULL) + goto done; + + if (rq->cmd_type == REQ_TYPE_ATA_TASK) { #ifdef DEBUG printk("%s: DRIVE_TASK_CMD ", drive->name); printk("cmd=0x%02x ", args[0]); @@ -915,13 +918,7 @@ static ide_startstop_t execute_drive_cmd hwif->OUTB(args[4], IDE_LCYL_REG); hwif->OUTB(args[5], IDE_HCYL_REG); hwif->OUTB((args[6] & 0xEF)|drive->select.all, IDE_SELECT_REG); - ide_cmd(drive, args[0], &drive_cmd_intr); - return ide_started; - } else if (rq->cmd_type == REQ_TYPE_ATA_CMD) { - u8 *args = rq->buffer; - - if (!args) - goto done; + } else { /* rq->cmd_type == REQ_TYPE_ATA_CMD */ #ifdef DEBUG printk("%s: DRIVE_CMD ", drive->name); printk("cmd=0x%02x ", args[0]); @@ -937,10 +934,11 @@ static ide_startstop_t execute_drive_cmd hwif->OUTB(0xc2, IDE_HCYL_REG); } else hwif->OUTB(args[1], IDE_NSECTOR_REG); - ide_cmd(drive, args[0], &drive_cmd_intr); - return ide_started; } + ide_cmd(drive, args[0], &drive_cmd_intr); + return ide_started; + done: /* * NULL is actually a valid way of waiting for - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html