Move source tree closer to the 2.6.32.17 mainline
/drivers/scsi/libsas/sas_scsi_host.c
blob:1c558d3bce18c4817623078944e86557eb3adb9f -> blob:39fb9aa93fe51175e4a18ae3c4b47cc4e3d2d3ce
--- drivers/scsi/libsas/sas_scsi_host.c
+++ drivers/scsi/libsas/sas_scsi_host.c
@@ -1025,6 +1025,8 @@ int __sas_task_abort(struct sas_task *ta
void sas_task_abort(struct sas_task *task)
{
struct scsi_cmnd *sc = task->uldd_task;
+ struct request_queue *q = sc->device->request_queue;
+ unsigned long flags;
/* Escape for libsas internal commands */
if (!sc) {
@@ -1039,7 +1041,9 @@ void sas_task_abort(struct sas_task *tas
return;
}
+ spin_lock_irqsave(q->queue_lock, flags);
blk_abort_request(sc->request);
+ spin_unlock_irqrestore(q->queue_lock, flags);
scsi_schedule_eh(sc->device->host);
}