diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-05-12 19:20:04 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-05-12 19:20:04 -0400 |
commit | 1540c84b5ed657ed71dce06915bba461e6b09574 (patch) | |
tree | a449dc166800a1b0c429bb038bfc974e577eaf72 /drivers/scsi/libsas/sas_ata.c | |
parent | 1a3a403aa98b0ccabeb12abd7da90d33250ea36b (diff) | |
parent | 4640b4e7d9919e9629fe8456df94f71658431ef9 (diff) |
Merge branch '2.6.33.4' into rt/2.6.33
Conflicts:
Makefile
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/scsi/libsas/sas_ata.c')
-rw-r--r-- | drivers/scsi/libsas/sas_ata.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index e15501170698..816ab97eb16d 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c | |||
@@ -394,11 +394,15 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev, | |||
394 | void sas_ata_task_abort(struct sas_task *task) | 394 | void sas_ata_task_abort(struct sas_task *task) |
395 | { | 395 | { |
396 | struct ata_queued_cmd *qc = task->uldd_task; | 396 | struct ata_queued_cmd *qc = task->uldd_task; |
397 | struct request_queue *q = qc->scsicmd->device->request_queue; | ||
397 | struct completion *waiting; | 398 | struct completion *waiting; |
399 | unsigned long flags; | ||
398 | 400 | ||
399 | /* Bounce SCSI-initiated commands to the SCSI EH */ | 401 | /* Bounce SCSI-initiated commands to the SCSI EH */ |
400 | if (qc->scsicmd) { | 402 | if (qc->scsicmd) { |
403 | spin_lock_irqsave(q->queue_lock, flags); | ||
401 | blk_abort_request(qc->scsicmd->request); | 404 | blk_abort_request(qc->scsicmd->request); |
405 | spin_unlock_irqrestore(q->queue_lock, flags); | ||
402 | scsi_schedule_eh(qc->scsicmd->device->host); | 406 | scsi_schedule_eh(qc->scsicmd->device->host); |
403 | return; | 407 | return; |
404 | } | 408 | } |