From cf6ace7e8179adafe990db4015f410cebc0fc1fd Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 29 Nov 2011 14:54:28 -0800 Subject: [PATCH] --- yaml --- r: 292995 b: refs/heads/master c: 3a2cdf391b62919d3d2862cdce3d70b9a7a99673 h: refs/heads/master i: 292993: ce5451499931752d7c046117f3add9a31f1fcbf3 292991: 916ef954cfedc5b7acf4286d9747ef8c6158ee6a v: v3 --- [refs] | 2 +- trunk/drivers/scsi/libsas/sas_ata.c | 14 ++++---------- trunk/drivers/scsi/libsas/sas_scsi_host.c | 4 ++-- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 4eae332c46e3..01d4c6bfeb3a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3944f50995f947558c35fb16ae0288354756762c +refs/heads/master: 3a2cdf391b62919d3d2862cdce3d70b9a7a99673 diff --git a/trunk/drivers/scsi/libsas/sas_ata.c b/trunk/drivers/scsi/libsas/sas_ata.c index 4c2a1402373c..a8ace8d24e66 100644 --- a/trunk/drivers/scsi/libsas/sas_ata.c +++ b/trunk/drivers/scsi/libsas/sas_ata.c @@ -411,18 +411,12 @@ static void sas_ata_post_internal(struct ata_queued_cmd *qc) * ourselves. */ struct sas_task *task = qc->lldd_task; - unsigned long flags; qc->lldd_task = NULL; - if (task) { - /* Should this be a AT(API) device reset? */ - spin_lock_irqsave(&task->task_state_lock, flags); - task->task_state_flags |= SAS_TASK_NEED_DEV_RESET; - spin_unlock_irqrestore(&task->task_state_lock, flags); - - task->uldd_task = NULL; - sas_ata_internal_abort(task); - } + if (!task) + return; + task->uldd_task = NULL; + sas_ata_internal_abort(task); } } diff --git a/trunk/drivers/scsi/libsas/sas_scsi_host.c b/trunk/drivers/scsi/libsas/sas_scsi_host.c index e02ca3d570f5..af71a6d0edae 100644 --- a/trunk/drivers/scsi/libsas/sas_scsi_host.c +++ b/trunk/drivers/scsi/libsas/sas_scsi_host.c @@ -288,7 +288,7 @@ static void sas_scsi_clear_queue_lu(struct list_head *error_q, struct scsi_cmnd list_for_each_entry_safe(cmd, n, error_q, eh_entry) { if (cmd->device->sdev_target == my_cmd->device->sdev_target && cmd->device->lun == my_cmd->device->lun) - sas_eh_finish_cmd(cmd); + sas_eh_defer_cmd(cmd); } } @@ -594,7 +594,7 @@ static int sas_eh_handle_sas_errors(struct Scsi_Host *shost, "recovered\n", SAS_ADDR(task->dev), cmd->device->lun); - sas_eh_finish_cmd(cmd); + sas_eh_defer_cmd(cmd); sas_scsi_clear_queue_lu(work_q, cmd); goto Again; }