mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
ata: libata-scsi: improve readability of ata_scsi_qc_issue()
Improve readability of ata_scsi_qc_issue(). No functional changes. Tested-by: Tommy Kelly <linux@tkel.ly> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Signed-off-by: Niklas Cassel <cassel@kernel.org>
This commit is contained in:
parent
163f649423
commit
360190bd96
|
|
@ -1767,7 +1767,7 @@ static int ata_scsi_qc_issue(struct ata_port *ap, struct ata_queued_cmd *qc)
|
|||
int ret;
|
||||
|
||||
if (!ap->ops->qc_defer)
|
||||
goto issue;
|
||||
goto issue_qc;
|
||||
|
||||
/*
|
||||
* If we already have a deferred qc, then rely on the SCSI layer to
|
||||
|
|
@ -1786,38 +1786,37 @@ static int ata_scsi_qc_issue(struct ata_port *ap, struct ata_queued_cmd *qc)
|
|||
break;
|
||||
case ATA_DEFER_LINK:
|
||||
ret = SCSI_MLQUEUE_DEVICE_BUSY;
|
||||
break;
|
||||
goto defer_qc;
|
||||
case ATA_DEFER_PORT:
|
||||
ret = SCSI_MLQUEUE_HOST_BUSY;
|
||||
break;
|
||||
goto defer_qc;
|
||||
default:
|
||||
WARN_ON_ONCE(1);
|
||||
ret = SCSI_MLQUEUE_HOST_BUSY;
|
||||
break;
|
||||
goto defer_qc;
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
/*
|
||||
* We must defer this qc: if this is not an NCQ command, keep
|
||||
* this qc as a deferred one and report to the SCSI layer that
|
||||
* we issued it so that it is not requeued. The deferred qc will
|
||||
* be issued with the port deferred_qc_work once all on-going
|
||||
* commands complete.
|
||||
*/
|
||||
if (!ata_is_ncq(qc->tf.protocol)) {
|
||||
ap->deferred_qc = qc;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Force a requeue of the command to defer its execution. */
|
||||
ata_qc_free(qc);
|
||||
return ret;
|
||||
}
|
||||
|
||||
issue:
|
||||
issue_qc:
|
||||
ata_qc_issue(qc);
|
||||
|
||||
return 0;
|
||||
|
||||
defer_qc:
|
||||
/*
|
||||
* We must defer this qc: if this is not an NCQ command, keep
|
||||
* this qc as a deferred one and report to the SCSI layer that
|
||||
* we issued it so that it is not requeued. The deferred qc will
|
||||
* be issued with the port deferred_qc_work once all on-going
|
||||
* commands complete.
|
||||
*/
|
||||
if (!ata_is_ncq(qc->tf.protocol)) {
|
||||
ap->deferred_qc = qc;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Force a requeue of the command to defer its execution. */
|
||||
ata_qc_free(qc);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user