aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sata_promise.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2006-02-10 07:09:37 -0500
committerJeff Garzik <jgarzik@pobox.com>2006-02-10 07:09:37 -0500
commitca7d5e42d783e54f0057317c9226262d68ab7717 (patch)
tree209751546842e1200bfbd2fd5144e1727ab18c86 /drivers/scsi/sata_promise.c
parenta0819750024a0056d760a936d72f76882a7e393f (diff)
parentcc9278ed5e992122a654a3f762561ee5e013810f (diff)
Merge branch 'upstream'
Diffstat (limited to 'drivers/scsi/sata_promise.c')
-rw-r--r--drivers/scsi/sata_promise.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c
index dcd1667f4144..a88b563ebcc4 100644
--- a/drivers/scsi/sata_promise.c
+++ b/drivers/scsi/sata_promise.c
@@ -112,6 +112,7 @@ static struct scsi_host_template pdc_ata_sht = {
112 .name = DRV_NAME, 112 .name = DRV_NAME,
113 .ioctl = ata_scsi_ioctl, 113 .ioctl = ata_scsi_ioctl,
114 .queuecommand = ata_scsi_queuecmd, 114 .queuecommand = ata_scsi_queuecmd,
115 .eh_timed_out = ata_scsi_timed_out,
115 .eh_strategy_handler = ata_scsi_error, 116 .eh_strategy_handler = ata_scsi_error,
116 .can_queue = ATA_DEF_QUEUE, 117 .can_queue = ATA_DEF_QUEUE,
117 .this_id = ATA_SHT_THIS_ID, 118 .this_id = ATA_SHT_THIS_ID,
@@ -432,11 +433,6 @@ static void pdc_eng_timeout(struct ata_port *ap)
432 spin_lock_irqsave(&host_set->lock, flags); 433 spin_lock_irqsave(&host_set->lock, flags);
433 434
434 qc = ata_qc_from_tag(ap, ap->active_tag); 435 qc = ata_qc_from_tag(ap, ap->active_tag);
435 if (!qc) {
436 printk(KERN_ERR "ata%u: BUG: timeout without command\n",
437 ap->id);
438 goto out;
439 }
440 436
441 switch (qc->tf.protocol) { 437 switch (qc->tf.protocol) {
442 case ATA_PROT_DMA: 438 case ATA_PROT_DMA:
@@ -456,10 +452,8 @@ static void pdc_eng_timeout(struct ata_port *ap)
456 break; 452 break;
457 } 453 }
458 454
459out:
460 spin_unlock_irqrestore(&host_set->lock, flags); 455 spin_unlock_irqrestore(&host_set->lock, flags);
461 if (qc) 456 ata_eh_qc_complete(qc);
462 ata_eh_qc_complete(qc);
463 DPRINTK("EXIT\n"); 457 DPRINTK("EXIT\n");
464} 458}
465 459