diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_ata.c')
-rw-r--r-- | drivers/scsi/libsas/sas_ata.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index 88f74467257..8c496b56556 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c | |||
@@ -395,12 +395,13 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev, | |||
395 | void sas_ata_task_abort(struct sas_task *task) | 395 | void sas_ata_task_abort(struct sas_task *task) |
396 | { | 396 | { |
397 | struct ata_queued_cmd *qc = task->uldd_task; | 397 | struct ata_queued_cmd *qc = task->uldd_task; |
398 | struct request_queue *q = qc->scsicmd->device->request_queue; | ||
399 | struct completion *waiting; | 398 | struct completion *waiting; |
400 | unsigned long flags; | ||
401 | 399 | ||
402 | /* Bounce SCSI-initiated commands to the SCSI EH */ | 400 | /* Bounce SCSI-initiated commands to the SCSI EH */ |
403 | if (qc->scsicmd) { | 401 | if (qc->scsicmd) { |
402 | struct request_queue *q = qc->scsicmd->device->request_queue; | ||
403 | unsigned long flags; | ||
404 | |||
404 | spin_lock_irqsave(q->queue_lock, flags); | 405 | spin_lock_irqsave(q->queue_lock, flags); |
405 | blk_abort_request(qc->scsicmd->request); | 406 | blk_abort_request(qc->scsicmd->request); |
406 | spin_unlock_irqrestore(q->queue_lock, flags); | 407 | spin_unlock_irqrestore(q->queue_lock, flags); |