diff options
author | Tejun Heo <htejun@gmail.com> | 2006-03-31 20:41:11 +0900 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-31 10:14:42 -0500 |
commit | 8e0e694a3a48212bfe29a9ad3cd592bf68dfec81 (patch) | |
tree | 82f2b114160c8f1a6537c471fea7b41e50a80814 /drivers/scsi/libata-scsi.c | |
parent | e4a70e76add280db6068426716a9b2a74099144f (diff) | |
download | op-kernel-dev-8e0e694a3a48212bfe29a9ad3cd592bf68dfec81.zip op-kernel-dev-8e0e694a3a48212bfe29a9ad3cd592bf68dfec81.tar.gz |
[PATCH] libata: make ata_qc_issue complete failed qcs
There is no reason for the issuer to diddle with a failed qc as the
issuer has complete control over when a qc gets freed (usually in
->complete_fn). Make ata_qc_issue() responsible for completing qcs
which failed to issue.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata-scsi.c')
-rw-r--r-- | drivers/scsi/libata-scsi.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c index 628191b..53f5b0d 100644 --- a/drivers/scsi/libata-scsi.c +++ b/drivers/scsi/libata-scsi.c @@ -1431,9 +1431,7 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev, goto early_finish; /* select device, send command to hardware */ - qc->err_mask = ata_qc_issue(qc); - if (qc->err_mask) - ata_qc_complete(qc); + ata_qc_issue(qc); VPRINTK("EXIT\n"); return; @@ -2199,9 +2197,7 @@ static void atapi_request_sense(struct ata_queued_cmd *qc) qc->complete_fn = atapi_sense_complete; - qc->err_mask = ata_qc_issue(qc); - if (qc->err_mask) - ata_qc_complete(qc); + ata_qc_issue(qc); DPRINTK("EXIT\n"); } |