diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_ata.c')
-rw-r--r-- | drivers/scsi/libsas/sas_ata.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index 4c2a1402373c..a8ace8d24e66 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c | |||
@@ -411,18 +411,12 @@ static void sas_ata_post_internal(struct ata_queued_cmd *qc) | |||
411 | * ourselves. | 411 | * ourselves. |
412 | */ | 412 | */ |
413 | struct sas_task *task = qc->lldd_task; | 413 | struct sas_task *task = qc->lldd_task; |
414 | unsigned long flags; | ||
415 | 414 | ||
416 | qc->lldd_task = NULL; | 415 | qc->lldd_task = NULL; |
417 | if (task) { | 416 | if (!task) |
418 | /* Should this be a AT(API) device reset? */ | 417 | return; |
419 | spin_lock_irqsave(&task->task_state_lock, flags); | 418 | task->uldd_task = NULL; |
420 | task->task_state_flags |= SAS_TASK_NEED_DEV_RESET; | 419 | sas_ata_internal_abort(task); |
421 | spin_unlock_irqrestore(&task->task_state_lock, flags); | ||
422 | |||
423 | task->uldd_task = NULL; | ||
424 | sas_ata_internal_abort(task); | ||
425 | } | ||
426 | } | 420 | } |
427 | } | 421 | } |
428 | 422 | ||