aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libsas/sas_scsi_host.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-05-12 19:20:04 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-05-12 19:20:04 -0400
commit1540c84b5ed657ed71dce06915bba461e6b09574 (patch)
treea449dc166800a1b0c429bb038bfc974e577eaf72 /drivers/scsi/libsas/sas_scsi_host.c
parent1a3a403aa98b0ccabeb12abd7da90d33250ea36b (diff)
parent4640b4e7d9919e9629fe8456df94f71658431ef9 (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_scsi_host.c')
-rw-r--r--drivers/scsi/libsas/sas_scsi_host.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c
index 14b13196b22d..b672d10e2a90 100644
--- a/drivers/scsi/libsas/sas_scsi_host.c
+++ b/drivers/scsi/libsas/sas_scsi_host.c
@@ -1029,6 +1029,8 @@ int __sas_task_abort(struct sas_task *task)
1029void sas_task_abort(struct sas_task *task) 1029void sas_task_abort(struct sas_task *task)
1030{ 1030{
1031 struct scsi_cmnd *sc = task->uldd_task; 1031 struct scsi_cmnd *sc = task->uldd_task;
1032 struct request_queue *q = sc->device->request_queue;
1033 unsigned long flags;
1032 1034
1033 /* Escape for libsas internal commands */ 1035 /* Escape for libsas internal commands */
1034 if (!sc) { 1036 if (!sc) {
@@ -1043,7 +1045,9 @@ void sas_task_abort(struct sas_task *task)
1043 return; 1045 return;
1044 } 1046 }
1045 1047
1048 spin_lock_irqsave(q->queue_lock, flags);
1046 blk_abort_request(sc->request); 1049 blk_abort_request(sc->request);
1050 spin_unlock_irqrestore(q->queue_lock, flags);
1047 scsi_schedule_eh(sc->device->host); 1051 scsi_schedule_eh(sc->device->host);
1048} 1052}
1049 1053